Guía de flujos de pantalla
Coloca un calendario MultiDatePick en cualquier flujo de pantalla (Screen Flow) de Salesforce. Coloca el componente en una pantalla, define Config Name y listo.
Sin necesidad de ApexUna sola propiedad: Config Name
Crea la configuración una vez en el asistente de configuración o importa una desde la Config Library. En el flujo defines una propiedad y el componente carga el resto.
- Abre una pantalla
- Busca MultiDatePick
- Arrastra Booking, Date o Date Time
- Nombre de configuración (Config Name)
- Guardar
Todas las casillas salen de la configuración. Con Config Name definido, nunca tocas una casilla en Flow Builder. Las propiedades de texto y número que rellenes en la pantalla prevalecen sobre la configuración.
Guardar vinculado a un registro
Enlaza Parent Record Id con el registro para el que se ejecuta el flujo, como {!recordId} o un resultado de Obtener registros. El componente guarda entonces sus registros vinculados a ese registro principal. En Date y Date Time, déjalo en blanco y la selección pasa al flujo.
Créalo desde un flujo en blanco
Cinco minutos en Flow Builder. Nada que implementar: lo pruebas con Depurar.
Configuración, Flujos, Nuevo flujo, Flujo de pantalla, Crear.
Añade un elemento Pantalla al lienzo.
Busca MultiDatePick en la lista de componentes y arrástralo.
Escribe el nombre de la configuración exactamente como lo guardó el asistente. Enlaza Parent Record Id si los registros pertenecen a un registro principal.
Haz clic en Depurar, elige fechas o franjas horarias y comprueba que se crearon los registros. Después haz clic en Activar y añade el flujo a una página de registro, un botón de acción o un sitio de Experience Cloud.
Lo que recibe el flujo
Booking guarda sus propias reservas. Date y Date Time pasan la selección al flujo, o la guardan ellos mismos cuando Parent Record Id está definido.
| Componente | Salida (etiqueta en Flow Builder) | Nombre de API |
|---|---|---|
| Booking | Successful Bookings Count, Conflict Dates | bookingSuccessCount, bookingConflictDates |
| Date | Selected Dates, Date Ranges JSON | selectedDates, selectedDateRangesJson |
| Date Time | Dates With Times JSON | selectedDatesWithTimesJson |
Sin necesidad de Apex: las acciones de flujo ya preparadas
Nunca escribes Apex. Para convertir el JSON de Date o Date Time en registros, usa las tres piezas que incluye el paquete. Aparecen en Flow Builder como cualquier acción estándar.
- Parse Date Entries from JSON
- Recorre sus entradas en bucle
- Crear registros, uno por entrada
Búscala en Acción. Pásale Date Ranges JSON o Dates With Times JSON. Detecta por ti si es solo fecha o fecha y hora.
Clase: MultiDatePickParser
Lo que devuelve la acción. Guárdalo en una variable definida por Apex y recorre data en un bucle.
data: las entradas que recorrertotalCount: cuántas haysuccess,errorMessage: para una Decisión
Una entrada, tu variable de bucle. Asígnala en Crear registros.
fromDate,toDate: el rango (iguales si es un solo día)startTime,endTime: solo Date Timeid: número de entrada
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" }
] }
Apéndice: asignar propiedades a mano
Solo si prescindes de Config Name. Flow Builder muestra las propiedades por orden alfabético y presenta las listas de selección, como Conflict Behavior (Comportamiento ante conflictos), como simples cuadros de texto; por eso Config Name es el camino más fácil. Para una pantalla de Booking, define estas:
| Etiqueta en Flow Builder | Qué introducir | Nombre de API |
|---|---|---|
| Resource Object API Name | El objeto que reservas, como un objeto Sala | resourceObjectApiName |
| Resource Name Field | El campo que se muestra como nombre de cada recurso | resourceNameField |
| Campo de capacidad (Capacity Field) | Cuántas reservas admite un recurso a la vez. Las franjas muestran 3/5 y se cierran cuando se llenan. | capacityField |
| Booking Object API Name | El objeto en el que se guarda cada reserva | resourceBookingObject |
| Booking Date Field | El campo de fecha del objeto de reserva | bookingDateField |
| Booking Start Time Field (Campo de hora de inicio), Booking End Time Field (Campo de hora de fin) | Los campos de hora del objeto de reserva | bookingStartTimeField, bookingEndTimeField |
| Booking Resource Field | La búsqueda (lookup) de la reserva al recurso | bookingResourceField |
| Comportamiento ante conflictos (Conflict Behavior) | Escribe block (predeterminado), skip o allow | conflictBehavior |
| Parent Record Id | El registro al que pertenecen las reservas, como {!recordId} | recordId |
| Parent Record Relationship Field | La búsqueda (lookup) de la reserva a ese registro principal | relationshipFieldApiName |
Aquí las casillas las defines tú. Sin Config Name, cada casilla (Required, Show Inline, Output Date Ranges as JSON y las demás) queda tal como la marques en la pantalla.
Míralo antes de crearlo
Prueba la demo en vivo sin iniciar sesión, o recibe un aviso el día que MultiDatePick llegue a Salesforce AppExchange.
¿Atascado con un flujo? Support@MultiDatePick.com