Répondre à: La fonction PDF

  • Geoffroy

    Membre
    9 février 2024 à 19h06

    <div class=”x1e56ztr”>

    Le principe est le suivant : le bouton d’impression lance un premier timer qui va générer le PDF sur son OnTimerEnd, ainsi que le changement d’écran puis le lancement du second timer qui va exécuter les mêmes actions sur un autre écran. Et ainsi de suite, jusqu’au timer final qui va, en plus, envoyer un mail contenant tous les pdf générés en pièce jointe.

    Les propriétés du timer n° N placé sur l’écran Screen_N sont :
    Duration : 0
    Start : varDébut_N
    OnTimerEnd : Set(Impression_N;PDF(Screen_N));; Set(varDébut_N;false);; Set(varDébut_N+1;true);; Navigate(Screen_N+1)

    Le OnTimerEnd du dernier timer sur l’écran Screen_X sera un peu différent :
    Set(Impression_X;PDF(Screen_X));; Set(varDébut_X;false);;
    Office365Outlook.SendEmailV2(User().Email;”Titre du mail”;”Corps du mail”; {Attachments:Table({Name:”Impression_1.pdf”;ContentBytes: Impression_1};… ;{Name:”Impression_X.pdf”;ContentBytes: Impression_X})})
    On crée une table avec les différents pdf qu’on place dans la propriété Attachments de la fonction SendMailV2.

    Pendant le processus, chaque écran va apparaitre pendant une demi-seconde environ, le temps que la fonction PDF fasse son œuvre (car elle ne marche pas sur un contrôle non visible).

    Dernier point : pour faire tes tests, il faut impérativement te placer en mode Aperçu. Si tu lances l’action avec le bouton Alt, ça va bloquer le timer et tu devras sortir de l’appli et la rouvrir.

    Si quelqu’un a des idées pour améliorer cette méthode, je suis preneur.

    </div>

    • Cette réponse a été modifiée Il y a 9 mois, 4 semaines par  Geoffroy.