• Accueil / Salesforce / Comment j’ai résolu…
, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Comment j’ai résolu ce problème : refléter le fuseau horaire correct d’un utilisateur dans une formule15 minutes de lecture


Problème clé de l’entreprise :

Je veux que mes responsables du support client puissent voir les heures de pointe du centre de support pour aider à la planification du personnel.

Je peux créer un champ de formule rapide renvoyant la partie Heure de la date de création du dossier, mais je dois coder en dur le décalage pour le fuseau horaire de l’utilisateur. Et, en raison de l’heure d’été, certains enregistrements s’affichent 1 heure avant leur création, tandis que d’autres affichent la bonne heure.

Fond:

J’aime, j’aime, j’aime simplement répondre aux questions de la communauté, principalement des formules.

Un jour, je suis tombé sur une requête concernant l’obtention de la valeur temporelle d’un champ date/heure dans une formule.

Ce faisant, la formule renvoie toujours la valeur en GMT. Si vous êtes dans un autre fuseau horaire, vous pouvez alors décaler ce résultat (par exemple, 9 h 00 HAP correspond à 16 h 00 GMT, vous ajouteriez donc 7 heures à votre résultat). Vous pouvez lire plus dans cet article d’aide de Salesforce dans la section « Une note sur la date/l’heure et les fuseaux horaires ».

Je me suis vite rendu compte que compenser le résultat ne suffisait pas. Je devais également prendre en compte l’heure d’été (DST). J’ai eu la chance que cette question ne concernait qu’un seul fuseau horaire en Europe, et comme il existe une règle DST définie dans l’UE, nous avons pu trouver une formule qui fonctionnait.

Cependant, je suis tombé sur d’autres questions similaires avec des utilisateurs travaillant dans des entreprises internationales qui étaient en difficulté, car certains pays utilisent l’heure d’été et d’autres non. Les dates et les changements d’heure sont différents pour chaque pays, et il y a même des pays qui l’utilisent dans certaines parties et pas d’autres (par exemple, il y a deux états aux États-Unis qui n’utilisent pas l’heure d’été ; les 48 autres le font) !

Une autre courbe était que le fuseau horaire de l’utilisateur ne peut pas être récupéré via la formule.

Stylo et papier (et cerveau) à la rescousse, et j’ai trouvé la solution ci-dessous qui, j’espère, aidera les autres.

Comment je l’ai résolu :

J’ai créé un flux à exécuter sur l’objet User ainsi qu’une formule sur Cases qui récupère la partie heure de la Date de création, en fonction du fuseau horaire de l’utilisateur connecté et en tenant compte de l’heure d’été de ce même utilisateur. Je l’ai ensuite montré dans un rapport simple et un graphique :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

1. Créez un nouvel objet

Tout d’abord, créez un nouvel objet Timezone avec les champs suivants :

  • Nom : Texte
  • Décalage GMT : Nombre (3,2)
  • Summertime Start – Text (255) : pour votre information uniquement, aucun calcul n’est nécessaire
  • Début d’hiver – Texte (255) : pour votre information uniquement, aucun calcul n’est nécessaire
  • Date de début d’été : Date
  • Date de début d’hiver : Date
  • Décalage de début d’été : Nombre (3,2)
  • Décalage de début d’hiver : nombre (3,2)
  • Hémisphère sud : case à cocher

2. Ajouter des champs à l’objet Utilisateur

Ensuite, créez les champs suivants sur l’objet User :

  • Nom du fuseau horaire : texte (80)
  • Décalage GMT : Nombre (3,2)
  • Summertime Start – Text (255) : pour votre information uniquement, aucun calcul n’est nécessaire
  • Début d’hiver – Texte (255) : pour votre information uniquement, aucun calcul n’est nécessaire
  • Date de début d’été : Date
  • Date de début d’hiver : Date
  • Décalage de début d’été : nombre (3,2)
  • Décalage de début d’hiver : nombre (3,2)
  • Hémisphère sud : case à cocher

Ajoutez ces champs à la mise en page si nécessaire, mais je vous recommande de les définir d’abord en lecture seule avec la sécurité au niveau des champs.

3. Créez un fichier .csv et téléchargez-le dans l’objet Timezone

C’est la partie la plus difficile, mais ne vous inquiétez pas ! J’ai fait le gros du travail. Cela m’a pris du temps, mais j’ai compilé les données nécessaires dans ce fichier; vous pouvez simplement le télécharger en tant que fichier .csv et le télécharger dans l’objet personnalisé Timezone.

Quelques points à noter :

  • j’ai utilisé ce site pour obtenir le décalage d’heure d’été et d’hiver (avec UTC).
  • L’année dans les dates de ce fichier n’est pas pertinente. J’ai choisi 1900 mais ce n’est pas grave.
  • Le jour dans les dates de ce fichier est défini sur le dernier jour possible selon la règle de fuseau horaire. Par example:
    • Aux États-Unis, l’heure d’été commence le deuxième dimanche de mars. Cela peut être n’importe quel jour entre le 8 mars et le 14 mars, j’ai donc utilisé le 14 mars.
    • Dans l’UE, l’heure d’été commence le dernier dimanche de mars, ce qui peut être n’importe quel jour entre le 25 et le 31 mars, j’ai donc utilisé le 31 mars.
  • Étant donné que la formule que j’utilise (au point 6) prend le dimanche comme référence, et comme l’heure d’été commence un vendredi en Israël, le « Décalage de début d’été » est défini sur -3 (2 h heure locale et +2 heures de décalage GMT et un heure supplémentaire pour l’heure d’été) +48 heures (2 jours avant dimanche), d’où le résultat de 45.
  • Les dates d’hiver et d’été pour l’hémisphère sud sont inversées pour que la formule fonctionne.
  • Malheureusement, deux fuseaux horaires ne suivent pas le calendrier grégorien pour leur heure d’été, donc cette solution ne fonctionnera pas pour eux :
    • L’Iran utilise le calendrier persan (ou jalaali).
    • Le Maroc utilise les dates de début et de fin du Ramadan pour le début et la fin de son heure d’été, qui suit un calendrier lunaire.
  • Les dates de ce fichier sont au format européen (JJ/MM/AAAA). Vous devrez peut-être modifier le format pour l’adapter à vos paramètres régionaux.
  • Les dates peuvent être modifiées en fonction de votre fuseau horaire.
  • Les colonnes « Début d’été » et « Début d’hiver » ne sont pas nécessaires en tant que telles, mais elles aident à comprendre quel est le modèle. Ils sont ici uniquement à titre d’information, tout comme le message « Utilise l’heure d’été ? » colonne.

Caveat: Les données sont correctes au meilleur de ma connaissance au moment où j’écris ce post. Cependant, cela peut changer à tout moment si de nouvelles lois sur l’heure d’été sont adoptées dans un pays donné, alors assurez-vous de l’examiner avant de le télécharger.

4. Créer un flux déclenché par un enregistrement

Est-ce si simple ?

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Tout ce que ce flux fait est de récupérer les valeurs de champ dans l’objet Fuseau horaire et de mettre à jour l’enregistrement d’utilisateur avec les mêmes valeurs.

Voici une étape par étape sur la façon de le créer:

1. Définissez l’élément Démarrer pour qu’il se déclenche lorsque « Un enregistrement est créé ou mis à jour », et sélectionnez Avant que l’enregistrement ne soit enregistré dans la section Exécuter le flux. Sélectionner Utilisateur comme objet et définissez les conditions comme suit (en utilisant {!$GlobalConstant.True} comme valeur) :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Cela signifie que ce flux ne se déclenchera que lorsque le nouveau champ Nom du fuseau horaire n’est pas rempli (lorsqu’un nouvel utilisateur est créé) ou que le fuseau horaire d’un utilisateur est modifié, car nous devrons mettre à jour nos champs personnalisés. Comme je n’ai besoin que de mettre à jour l’enregistrement de l’utilisateur, j’ai choisi de déclencher le flux avant la sauvegarde, car c’est plus efficace.

2. Ajoutez un élément Get Record au canevas et configurez-le comme ci-dessous. Cela me permettra de récupérer tous les champs de l’enregistrement de fuseau horaire où le nom de l’enregistrement est le même que le nom du fuseau horaire de l’utilisateur :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

3. Ajoutez un élément Devoir en tant que tel :

Pour obtenir la variable, cliquez simplement dans le champ, sélectionnez $Record (utilisateur), puis sélectionnez le champ nécessaire :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Pour obtenir la valeur, cliquez simplement dans le champ, sélectionnez Fuseau horaire de GetTimezone (Timezone__c) dans la section « ENREGISTRER (SIMPLE) VARIABLES », puis sélectionnez le champ nécessaire :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

VariableOpérateurValeur
$Record>Timezone_Name__c Équivaut àObtenir le fuseau horaire>Nom
$Record>GMT_Offset__cÉquivaut àGetTimezone>GMT_Offset__c
$Record>Southern_Hemisphere__cÉquivaut àGetTimezone>Southern_Hemisphere__c
$Record>Summertime_Start_Date__c Équivaut àGetTimezone>Summertime_Start_Date__c
$Record>Summertime_Start_Offset__c Équivaut àGetTimezone>Summertime_Start_Offset__c
$Record>Summertime_Start__cÉquivaut àGetTimezone>Summertime_Start__c
$Record>Wintertime_start_Date__cÉquivaut àGetTimezone>Wintertime_Start_Date__c
$Record>Wintertime_Start_Offset__cÉquivaut àGetTimezone>Wintertime_Start_Offset__c
$Record>Wintertime_start__cÉquivaut àGetTimezone>Wintertime_start__c

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

4. Enregistrez le flux, ajoutez une description et activez-le.

5. Mettre à jour les enregistrements d’utilisateurs existants

Malheureusement, cette solution ne fonctionne pas pour les enregistrements d’utilisateurs existants, sauf si vous mettez à jour leurs fuseaux horaires. Il existe plusieurs façons de mettre à jour ces enregistrements, mais personnellement, j’aime les automatisations.

1. Tout ce que vous avez à faire est de créer un flux déclenché par une planification qui s’exécuterait une seule fois et parcourrait chaque enregistrement d’utilisateur actif où les champs sont vides, et les mettrait à jour en conséquence :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

2. Conditions de filtrage (vous pouvez ajouter d’autres filtres si nécessaire ; par exemple, le type d’utilisateur est égal à la norme) :

Ici, je vérifie seulement si le champ Nom du fuseau horaire de l’enregistrement d’utilisateur est vide, ce qui signifie qu’il n’y a pas de données de l’enregistrement de fuseau horaire correspondant sur cet enregistrement d’utilisateur :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

3. Ajoutez un élément Obtenir l’enregistrement. Tout comme avant, cela me permettra de récupérer tous les champs de l’enregistrement de fuseau horaire où le nom de l’enregistrement est le même que le nom du fuseau horaire de l’utilisateur :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

4. Ajoutez un élément Mettre à jour l’enregistrement afin que nous mettions à jour les champs de fuseau horaire personnalisés sur l’enregistrement de l’utilisateur :

DomaineOpérateurValeur
GMT_Offset__cÉquivaut àGetTimezone>GMT_Offset__c
Hémisphère_Sud__c Équivaut àGetTimezone>Southern_Hemisphere__c
Summertime_Start_Date__cÉquivaut àGetTimezone>Summertime_Start_Date__c
Summertime_Start_Offset__cÉquivaut àGetTimezone>Summertime_Start_Offset__c
Summertime_Start__cÉquivaut àGetTimezone>Summertime_Start__c
Wintertime_Start_Offset__cÉquivaut àGetTimezone>Wintertime_Start_Offset__c
Wintertime_start_Date__cÉquivaut àGetTimezone>Wintertime_Start_Date__c
Wintertime_start__cÉquivaut àGetTimezone>Wintertime_start__c
Timezone_Name__cÉquivaut àObtenir le fuseau horaire>Nom

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

5. Enregistrez, ajoutez une description, activez et laissez-le s’exécuter.

6. Créez un champ de formule sur les cas

Nous y sommes enfin !

C’est là que la magie opère. Vous devez maintenant créer un champ de formule sur les cas. Je l’ai simplement appelé « Heure créée » :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Voici la formule complète :

IF( OR(
ISBLANK( $User.Summertime_Start_Offset__c ),

CreatedDate
-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Summertime_Start_Date__c),DAY($User.Summertime_Start_Date__c)))-1)) + $User.Summertime_Start_Offset__c /24,

CreatedDate>=
DATETIMEVALUE(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Wintertime_start_Date__c),DAY($User.Wintertime_start_Date__c))
-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Wintertime_start_Date__c),DAY($User.Wintertime_start_Date__c)))-1))+$User.Wintertime_Start_Offset__c/24

),

HOUR(TIMEVALUE(CreatedDate+$User.GMT_Offset__c /24))
+IF( AND($User.Southern_Hemisphere__c, NOT(ISBLANK( $User.Summertime_Start_Offset__c ))),1,0)
-IF(HOUR(TIMEVALUE(CreatedDate+ $User.GMT_Offset__c /24))
+IF( AND($User.Southern_Hemisphere__c, NOT(ISBLANK( $User.Summertime_Start_Offset__c ))),1,0)>23,24,0)

,
HOUR(TIMEVALUE(CreatedDate+(1+ $User.GMT_Offset__c )/24))
-IF( AND($User.Southern_Hemisphere__c, NOT(ISBLANK( $User.Summertime_Start_Offset__c ))),1,0)
-IF(HOUR(TIMEVALUE(CreatedDate+(1+ $User.GMT_Offset__c )/24))
-IF( AND($User.Southern_Hemisphere__c, NOT(ISBLANK( $User.Summertime_Start_Offset__c ))),1,0)>23,24,0)

)

Essayons de le décomposer.

La partie la plus compliquée de la formule est :

-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Summertime_Start_Date__c),DAY($User.Summertime_Start_Date__c)))-1)

C'est ainsi que je calcule le dimanche réel où le changement d'heure se produit l'année de la date de création.

Étant donné que la fonction WEEKDAY() renvoie un nombre de 1 pour dimanche à 7 pour samedi et que j'ai la dernière heure d'été/hiver possible du dimanche sur l'enregistrement utilisateur, je peux simplement prendre ce nombre et soustraire 1 (donc dimanche renvoie 0, lundi renvoie 1, mardi renvoie 2, etc.), puis soustrayez-le du dimanche le plus élevé possible.

Prenons l'Irlande comme exemple :

  1. L'été commence le « dernier dimanche de mars ».
  2. Le dernier dimanche possible lorsque nous passons à l'heure d'été est le 31 mars.
  3. En 2021, le 31 mars tombait un mercredi.
  4. Le dernier dimanche de mars était le 28.

La formule prendra alors le 31 mars 2021 (dimanche le plus tard possible) et soustraira 3 (puisque WEEKDAY() pour mercredi est 4 moins le 1 supplémentaire). Cela revient le 28 mars.

La formule se lit maintenant comme suit :

Si le champ Summertime Start Offset n'est pas renseigné (ce qui signifie que l'heure d'été ne s'applique pas)

ISBLANK( $User.Summertime_Start_Offset__c )

OU

Si la date de création sur l'enregistrement du cas est antérieure à la date/heure de début d'été de l'utilisateur connecté pour l'année de la date de création du cas

CreatedDate
DATETIMEVALUE(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Summertime_Start_Date__c),DAY($User.Summertime_Start_Date__c))
-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Summertime_Start_Date__c),DAY($User.Summertime_Start_Date__c)))-1)) + $User.Summertime_Start_Offset__c /24

OU

Si la date de création sur l'enregistrement du cas est postérieure ou égale à la date/heure de début d'hiver de l'utilisateur connecté pour l'année de la date de création du cas

CreatedDate>= DATETIMEVALUE(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Wintertime_start_Date__c),DAY($User.Wintertime_start_Date__c))
-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),MONTH($User.Wintertime_start_Date__c),DAY($User.Wintertime_start_Date__c)))-1))+$User.Wintertime_Start_Offset__c/24

ENSUITE

Renvoyer l'heure de la date de création du dossier et la décaler en fonction du fuseau horaire de l'utilisateur connecté (heure d'hiver)

HOUR(TIMEVALUE(CreatedDate+$User.GMT_Offset__c /24))

AUTREMENT

Renvoyez l'heure de la date de création du dossier et décalez-la en fonction du fuseau horaire de l'utilisateur connecté et ajoutez 1 heure (heure d'été).

HOUR(TIMEVALUE(CreatedDate+(1+ $User.GMT_Offset__c )/24))

POUR CHAQUE RÉSULTAT :

Je dois ajuster l'heure de l'hémisphère sud (case à cocher Hémisphère sud) s'ils utilisent l'heure d'été (le champ Summertime Start Offset est renseigné) car je devais inverser leurs dates d'été et d'hiver.

+/-IF( AND($User.Southern_Hemisphere__c, NOT(ISBLANK( $User.Summertime_Start_Offset__c ))),1,0)

Enfin, j'ai ajouté une vérification afin que lorsque le résultat est supérieur à 23, je lui soustrait 24 afin que cette formule ne puisse renvoyer que des nombres entiers compris entre 0 et 23.

-IF(HOUR(TIMEVALUE(CreatedDate+ $User.GMT_Offset__c /24))
+IF( AND($User.Southern_Hemisphere__c, NOT(ISBLANK( $User.Summertime_Start_Offset__c ))),1,0)>23,24,0)

7. Créer un rapport sur les cas

C'est ça! Vous avez maintenant tout ce dont vous avez besoin pour créer le rapport. C'est la partie facile. Créez simplement un rapport sur les cas regroupés soit par la date de création sur les lignes et l'heure de création sur la colonne, soit uniquement par l'heure de création sur les lignes :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Pourquoi n'ajoutez-vous pas un tableau de bord aussi !?

Résultats commerciaux :

Comme je suis en Irlande, je suis sur le fuseau horaire GMT en hiver et sur GMT+1 en été. Jetez un œil à ces deux composants de tableau de bord pour les mêmes enregistrements de cas. La première affiche les heures en GMT uniquement, tandis que la seconde affiche les heures selon l'heure d'été en Irlande :

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

, Comment j&rsquo;ai résolu ce problème : refléter le fuseau horaire correct d&rsquo;un utilisateur dans une formule<span class="wtr-time-wrap after-title"><span class="wtr-time-number">15</span> minutes de lecture</span>

Si je n'avais pas de vue en fonction de mon fuseau horaire avec l'heure d'été, je penserais que mon centre de contact commence à être occupé à 7 heures du matin, alors qu'il est occupé à partir de 8 heures du matin. Je peux maintenant planifier mon personnel en conséquence.

Essayez ceci à la maison

Il existe de nombreuses raisons différentes pour lesquelles vous voudriez voir les heures selon l'heure d'été. Vous pouvez trouver pas mal de questions sur DST sur la communauté Trailblazer :

Si tous vos utilisateurs se trouvent dans le même fuseau horaire :

Vous pouvez simplement créer un champ de formule sans avoir à vous soucier du flux sur les utilisateurs. Voici la formule pour le fuseau horaire GMT en Europe (Irlande, Royaume-Uni et Portugal) :

IF( OR(CreatedDate
CreatedDate> DATETIMEVALUE(DATE(YEAR(DATEVALUE(CreatedDate)),10,31)- (WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),10,31))-1))+1/24),
HOUR(TIMEVALUE(CreatedDate))
-IF(HOUR(TIMEVALUE(CreatedDate))>23,24,0)
,
HOUR(TIMEVALUE(CreatedDate+1/24))
-IF(HOUR(TIMEVALUE(CreatedDate+1/24))>23,24,0)
)

Voici la même formule pour les fuseaux horaires New York/Indiana :

IF( OR(
CreatedDate
-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),3,14))-1))+11/24,
CreatedDate> DATETIMEVALUE(DATE(YEAR(DATEVALUE(CreatedDate)),11,7)
-(WEEKDAY(DATE(YEAR(DATEVALUE(CreatedDate)),11,7))-1))+11/24
),
HOUR(TIMEVALUE(CreatedDate-5/24))
-IF(HOUR(TIMEVALUE(CreatedDate-5/24))>23,24,0)
,
HOUR(TIMEVALUE(CreatedDate-4/24))
-IF(HOUR(TIMEVALUE(CreatedDate-4/24))>23,24,0)
)

Utilisation de la formule avec un champ de date :

Vous pouvez utiliser le même principe avec un champ de date. Voici une formule pour le fuseau horaire GMT en Europe renvoyant une date/heure à 6 heures du matin, en utilisant AUJOURD'HUI () comme date :

DATETIMEVALUE( TEXT(TODAY())&
IF( OR(NOW()
NOW()> DATETIMEVALUE(DATE(YEAR(TODAY()),10,31)- (WEEKDAY(DATE(YEAR(TODAY()),10,31))-1)+1/24))
, " 06:00:00", " 05:00:00"))

Faites-nous savoir ce que vous avez pensé de cette solution et dites-nous comment vous souhaitez l'utiliser sur Twitter avec #AwesomeAdmins #HowISolvedThis.

Ressources

Vous voulez voir plus de bonnes choses? Abonnez-vous à notre chaîne !

INSCRIVEZ-VOUS AUJOURD'HUI



Source de l'article traduit automatiquement en Français

Besoin d'aide ?
Vous utilisez Pardot depuis un certain temps mais vous n'êtes pas sûr d'en
exploiter tout le potentiel

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer