Guide des flux d'écran
Intégrez un calendrier MultiDatePick dans n'importe quel flux d'écran (Screen Flow) Salesforce. Posez le composant sur un écran, renseignez Config Name, c'est fini.
Aucun Apex requisUne seule propriété : Config Name
Créez la configuration une fois dans l'assistant de configuration, ou importez-en une depuis la Config Library. Dans le flux, vous renseignez une propriété et le composant charge le reste.
- Ouvrir un écran
- Chercher MultiDatePick
- Glisser Booking, Date ou Date Time
- Nom de la configuration (Config Name)
- Enregistrer
Toutes les cases à cocher viennent de la configuration. Avec Config Name renseigné, vous ne touchez à aucune case dans Flow Builder. Les propriétés texte et numériques que vous remplissez sur l'écran remplacent celles de la configuration.
Enregistrer sur un enregistrement
Liez Parent Record Id à l'enregistrement pour lequel le flux s'exécute, par exemple {!recordId} ou le résultat d'un élément Obtenir des enregistrements. Le composant enregistre alors ses enregistrements liés à ce parent. Sur Date et Date Time, laissez-le vide et la sélection est transmise au flux.
Partir d'un flux vierge
Cinq minutes dans Flow Builder. Rien à déployer : vous testez avec Déboguer.
Configuration, Flux, Nouveau flux, Flux d'écran, Créer.
Ajoutez un élément Écran sur le canevas.
Cherchez MultiDatePick dans la liste des composants et faites-le glisser sur l'écran.
Saisissez le nom de la configuration exactement tel que l'assistant l'a enregistré. Liez Parent Record Id si les enregistrements appartiennent à un parent.
Cliquez sur Déboguer, choisissez des dates ou des créneaux et vérifiez que les enregistrements ont été créés. Ensuite, activez le flux et ajoutez-le à une page d'enregistrement, à un bouton d'action ou à un site Experience Cloud.
Ce que le flux récupère
Booking enregistre lui-même ses réservations. Date et Date Time transmettent la sélection au flux, ou l'enregistrent eux-mêmes quand Parent Record Id est renseigné.
| Composant | Sortie (libellé dans Flow Builder) | Nom d'API |
|---|---|---|
| Booking | Successful Bookings Count, Conflict Dates | bookingSuccessCount, bookingConflictDates |
| Date | Selected Dates, Date Ranges JSON | selectedDates, selectedDateRangesJson |
| Date Time | Dates With Times JSON | selectedDatesWithTimesJson |
Aucun Apex requis : les actions de flux prêtes à l'emploi
Vous n'écrivez jamais d'Apex. Pour transformer le JSON de Date ou Date Time en enregistrements, utilisez les trois éléments fournis avec le package. Ils apparaissent dans Flow Builder comme n'importe quelle action standard.
- Parse Date Entries from JSON
- Parcourir ses entrées en boucle
- Créer des enregistrements, un par entrée
Cherchez-la dans Action. Passez-lui Date Ranges JSON ou Dates With Times JSON. Elle détecte seule s'il s'agit de dates seules ou de dates avec heures.
Classe : MultiDatePickParser
Ce que renvoie l'action. Stockez-le dans une variable définie par Apex et bouclez sur data.
data: les entrées à parcourirtotalCount: leur nombresuccess,errorMessage: pour une Décision
Une entrée, votre variable de boucle. Mappez-la dans Créer des enregistrements.
fromDate,toDate: la plage (identiques pour un seul jour)startTime,endTime: Date Time uniquementid: numéro de l'entrée
Date Ranges JSON (Date)
{ "data": [
{ "id": 1, "fromDate": "2026-02-10", "toDate": "2026-02-12" },
{ "id": 2, "fromDate": "2026-02-15", "toDate": "2026-02-15" }
] }
Dates With Times JSON (Date Time)
{ "data": [
{ "id": 1, "fromDate": "2026-02-10", "toDate": "2026-02-10",
"startTime": "09:00", "endTime": "17:00" }
] }
Annexe : mapper les propriétés à la main
Uniquement si vous n'utilisez pas Config Name. Flow Builder liste les propriétés par ordre alphabétique et affiche les listes de sélection comme Conflict Behavior sous forme de simples zones de texte : c'est pourquoi Config Name est le chemin le plus simple. Pour un écran Booking, renseignez ceci :
| Libellé dans Flow Builder | Valeur à saisir | Nom d'API |
|---|---|---|
| Resource Object API Name | L'objet que vous réservez, par exemple un objet Room | resourceObjectApiName |
| Resource Name Field | Le champ affiché comme nom de chaque ressource | resourceNameField |
| Champ Capacité (Capacity Field) | Le nombre de réservations qu'une ressource accepte en même temps. Les créneaux affichent 3/5 et se ferment une fois complets. | capacityField |
| Booking Object API Name | L'objet où chaque réservation est enregistrée | resourceBookingObject |
| Booking Date Field | Le champ date de l'objet de réservation | bookingDateField |
| Booking Start Time Field, Booking End Time Field | Les champs d'heure de l'objet de réservation | bookingStartTimeField, bookingEndTimeField |
| Booking Resource Field | La référence de la réservation vers la ressource | bookingResourceField |
| Comportement en cas de conflit (Conflict Behavior) | Saisissez block (par défaut), skip ou allow | conflictBehavior |
| Parent Record Id | L'enregistrement auquel appartiennent les réservations, par exemple {!recordId} | recordId |
| Parent Record Relationship Field | La référence de la réservation vers ce parent | relationshipFieldApiName |
Ici, les cases à cocher sont à vous de régler. Sans Config Name, chaque case (Required, Show Inline, Output Date Ranges as JSON et les autres) prend la valeur que vous cochez sur l'écran.
Voyez-le avant de le construire
Essayez la démo en direct, sans connexion, ou soyez prévenu le jour où MultiDatePick arrive sur Salesforce AppExchange.
Bloqué sur un flux ? Support@MultiDatePick.com