Voici une liste des questions fréquemment posées au support :
Comment faire apparaître une nouvelle devise sur le PDF de la facture
Question :
Vous avez changé la devise sur l'enregistrement de votre facture.
Maintenant, vous voulez l'afficher sur votre modèle PDF.
Cela ne se fait pas automatiquement.
Réponse :
Après avoir activé l'option multi-devises dans l'org Salesforce, il faut ajouter sur le modèle PDF un bout de code qui fait référence à un champ sur la facture.
Voici les étapes à suivre :
1. Allez dans Configuration > Code personnalisé > Pages Visualforce.
2. Ouvrez la page Visualforce de votre facture.
3. Si vous ne vous rappelez plus de son nom, allez sur la facture et générez le PDF.
Vous voyez le nom en haut à gauche du PDF créé :
4. Dans la page Visualforce cliquez sur le bouton Modifier.
5. Ensuite, ajoutez le code :
p_currency="{!sofactoapp__Factures_client__c.CurrencyIsoCode}"
dans chaque balise qui contient un montant :
Voici des exemples de champs :
Prix unitaire
Total HT
Total TVA
Total TTC
Montant de la remise
6. Enregistrez la page Visualforce.
7. Vérifiez le PDF généré : la nouvelle devise apparaît.
Comment appliquer un formatage dynamique des champs devises
Frisbii propose en standard un composant pour le formatage dynamique des champs devises dans les pages Visualforce de modèle PDF.
Ce composant permet notamment de :
Formater le montant selon le paramètre de langue (X,XXX.XX€ ou X XXX,XX€),
Afficher le symbole monétaire (en simple devise) ou le currency iso code (en multi-devises),
Masquer l'affichage de la contrevaleur en devise de l'org (montant entre parenthèses visible pour les champs devises sur une plateforme multi-devises)
Afin d'effectuer la mise en place de ce composant dans vos modèles Visualforce, utilisez la syntaxe suivante :
<sofactoapp:CurrencyFormat p_amount="{!sofactoapp__Factures_client__c.YOUR_CURRENCY_FIELD} p_scale="X" p_currency="{!sofactoapp__Factures_client__c.CurrencyIsoCode}" />
N.B. :
Ce composant est disponible à partir de la version 3.52.
"p_scale" contrôle le nombre "X" de décimales. Il est facultatif, nativement le composant affiche 2 décimales.
"p_currency" n'est disponible que pour les plateformes multi-devises est permet d'afficher le currency iso code (EUR) ou le symbole (€).
Attention : Dans certaines versions de Frisbii, lors de l'utilisation de ce composant sur un montant avec des décimales nulles, comme dans 500,00€, il sera affiché "500€" et non "500,00€".
L'utilisation de p_scale="2" ne règle pas le problème, il faut ajouter le paramètre p_stripTrailingZeros="2"
Pour afficher le symbole dans une configuration multi currency, il faut créer un champ formule qui affiche le symbole suivant la valeur d'iso code. Nous vous proposons ce champ formule de type texte à ajouter sur la facture et à utiliser dans le p_currency="{!sofactoapp__Factures_Client__c.Votre_champ__c}" :
CASE(CurrencyIsoCode,
'EUR',"€",
'USD',"$",
'GBP','£',
'INR', '₹',
'AUD','$AU',
'CAD','$CA',
'SGD','S$',
'CHF','SFr.',
'JPY','¥',
'CNY','¥',
null
)
Exemples d'affichage sur un champ d'une facture de 15 000 dollars, dans une org en multi-devises avec pour devise d'org l'euro et ayant le problème des 00 des décimales non affichés. Le champ Currency_Symbol est le champ formule proposé ci-dessus.
Affichage | Code |
15000.00 | <apex:outputText value="{!sofactoapp__Factures_Client__c.sofactoapp__Amount_VAT__c}"/> |
USD 15000,00 | <apex:outputField value="{!sofactoapp__Factures_Client__c.sofactoapp__Amount_VAT__c}"/> |
15 000 EUR | <sofactoapp:CurrencyFormat p_amount="{!sofactoapp__Factures_Client__c.sofactoapp__Amount_VAT__c}" /> |
$ 15 000 | <sofactoapp:CurrencyFormat |
USD 15 000 | <sofactoapp:CurrencyFormat p_scale="2" p_amount="{!sofactoapp__Factures_Client__c.sofactoapp__Amount_VAT__c}" p_currency="{!sofactoapp__Factures_Client__c.CurrencyIsoCode}"/> |
USD 15000,00 | <sofactoapp:CurrencyFormat p_scale="2" |
$15 000,00 | <sofactoapp:CurrencyFormat p_scale="2" |
A partir de la version Fall '20, Frisbii met à votre disposition encore plus de possibilités de formatage :
p_language : applique un format régional.
p_language="en_US" : ex. 125,236.00
p_language="fr_FR" : ex. 125 236,00
p_stripTrailingZeros : retire les zéros après la virgule, s'il n'y a aucune valeur.
p_stripTrailingZeros = "false" : 125 236,00
p_stripTrailingZeros = "true" : 125 236
p_currency : Possibilité de ne pas afficher la devise.
p_currency="none"
Comment éviter un CPU Time out lors de la génération d'un PDF contenant beaucoup de lignes de facture
Question :
Vous ne pouvez plus sauvegarder ou prévisualiser un PDF qui contient beaucoup de ligne de facture.
Réponse :
Le calcul de l'affichage de votre PDF prend trop de temps car vous avez beaucoup de lignes et votre modèle PDF a probablement des conditions d'affichage. Par exemple : afficher la colonne remise s'il y a une remise.
En retirant ces conditions d'affichage (rendered ou display if) dans votre modèle (la page visualforce) vous devriez gagner du temps et réussir à nouveau à générer votre PDF.
Pourquoi un utilisateur ne voit pas la prévisualisation du PDF, malgré la disposition des bonnes licences/ le bon ensemble d'autorisation
Question :
Un utilisateur ne voit pas la prévisualisation du PDF de la facture ou de l'offre.
Réponse :
Veuillez suivre ces pistes :
A) Vérifiez que l'utilisateur a accès à la page Visualforce
1. Allez dans la Configuration.
2. Tapez Ensembles d'autorisations dans la barre de recherche.
3. Cliquez sur Ensembles d'autorisations.
4. Ouvrez un ensemble d'autorisations qui est attribué à l'utilisateur en question.
Attention : S'il s'agit d'un ensemble d'autorisations packagé, il faut le cloner d'abord.
5. Dans la partie Applications, cliquez sur Accès à la page Visualforce.
6. Cliquez sur Modifier.
7. Cherchez la page Visualforce parmi les Pages Visualforce disponibles.
8. Cliquez sur la flèche Ajouter afin de la pousser dans la section Pages Visualforce activées.
Si vous ne connaissez pas le nom de la page Visualforce, veuillez suivre cette procédure :
1. Allez dans l'onglet Factures.
2. Ouvrez une facture.
3. Cliquez sur Créer PDF.
4. Glisser la souris sur le haut du PDF, le nom de la page Visualforce va apparaître.
B) Vérifiez les paramètres de session
1. Allez dans Configuration.
2. Tapez Paramètres de session dans la barre de recherche.
3. Cliquez sur Paramètres de session.
4. Vérifiez si la case Activer la protection contre le détournement de clic pour les pages Visualforce des clients avec des en-têtes désactivés est bien décochée.
C) Vérifiez les cases cochées sur l'enregistrement de l'utilisateur
1. Allez dans Configuration.
2. Tapez Utilisateurs dans la barre de recherche.
3. Cliquez sur Utilisateurs.
4. Cherchez l'utilisateur en question.
5. Vérifiez que sur l'enregistrement de l'utilisateur la case Mode de débogage est bien décochée.
D) Navigateur de l'utilisateur
Demandez à l'utilisateur de supprimer son cache et si cela n'aboutit pas, de désactiver son Adblocker.
E) Droit : Afficher la configuration
Si l'utilisateur reçoit le message Insufficient permissions: secure query included inaccessible field :
Pour pouvoir générer un PDF, Frisbii a besoin de savoir si le PDF doit être stocké dans Document (Classic) ou Fichier (Lightning).
Cette information est stockée dans un paramètre personnalisé qui n'est accessible par le code uniquement si l'utilisateur a le droit Afficher la configuration. Si votre utilisateur rencontre le message d'erreur ci-dessus et qu'il n'a pas d'engrenage en haut à droite de son écran, vous pouvez lui donner l'autorisation système Afficher la configuration.
Comment alléger mon modèle de PDF
Question :
Mon modèle de PDF est trop lourd
Réponse :
Wecompress est un site vous permettant de charger un PDF afin d'analyser la taille des éléments qui le compose.
Exemple ici, où l'ont peut voir que le PDF est composé d'une image faisant 18Ko
Pourquoi un utilisateur n'a pas accès aux PDFs créés par ses collègues ?
Question :
Un utilisateur ne peut pas ouvrir les PDF créés par ses collègues.
Réponse :
Si les utilisateurs n'ont pas accès au dossier Factures et ou Offres dans Fichier, les PDFs qu'ils créent sont stockés dans les dossiers personnalisés. Donnez accès aux utilisateurs aux dossiers Factures et Offres dans Fichier pour éviter cela. Voici un article à ce sujet : Modification de l'accès aux fichiers dans Lightning Experience.
Pourquoi mon modèle de facture ou d'offre packagé n'est pas traduit ?
Question :
Je viens de modifier la langue de la facture, mais la langue sur le PDF ne change pas. Pourtant, j'ai mis en place un modèle par défaut venant du package Frisbii dans ma Raison Sociale. Comment puis-je remédier à cela ?
Réponse :
Si votre modèle n'est pas traduit, il est possible que votre système de traduction ne soit pas actif.
Nous vous conseillons de vérifier cela dans votre configuration en cherchant le mot traduction.
Dans Paramètres de langue de traduction vous pouvez activer le système de traduction, ajouter une langue et choisir un traducteur.
Nativement, les modèles du package sont seulement traduit en anglais.
Voici un article Salesforce à ce sujet : Activation et désactivation du Système de traduction.
Pourquoi une liste de sélection n'est pas traduite dans mon modèle PDF, alors qu'elle est traduite dans le système de traduction Salesforce ?
Question :
Les valeurs d'une liste de sélection ne sont pas affichées dans la bonne langue, malgré la sélection de langue sur la facture et la mise en place d'une traduction dans le système de traduction Salesforce.
Réponse :
Ceci peut se produire pour nos listes de sélection packagées :
Délai de paiement (sofactoapp__Delai_paiement__c)
Mode de paiement (sofactoapp__Payment_mode__c)
Type (sofactoapp__Type_de_facture__c)
Sous-type (sofactoapp__Sous_type__c)
Allez dans la page visualforce (Configuration > Code personnalisé > Pages Visualforce) afin de vérifier le code de la balise autour du champ de la liste de sélection :
<apex:outputField value="{!sofactoapp__Factures_Client__c.sofactoapp__Type_de_facture__c}" />
Afin d'afficher correctement les valeurs, il faut mettre outputField au lieu de outputText.
Attention : Les styles ne s'appliquent pas aux outputField, comme aux outputText. Pour appliquer un style, il faut le spécifier à un niveau supérieur.
Example : Dans la cellule de la table (<td>) :
<td style="vertical-align:top;font-size:17px;">
<apex:outputField value="{!sofactoapp__Factures_Client__c.sofactoapp__Type_de_facture__c}" />
</td>
Pourquoi les données apparaissent sur la mauvaise colonne du tableau de ma facture/offre PDF
Question
Les données apparaissent dans une autre colonne que prévu.
Réponse
Si vous souhaitez personnaliser votre modèle PDF, nous vous déconseillons d'insérer du code HTML dans les champs des objets concernés (produits, lignes de facture...). Cela peut nuire à la qualité de l'affichage de vos PDF, notamment en affichant les données à un endroit inapproprié et en déformant la mise en page du modèle.
Nous vous conseillons d'insérer le code HTML directement dans la page Visualforce de votre modèle de facture.
Pourquoi il est impossible d'ouvrir le PDF généré
Question
En essayant d'ouvrir le PDF généré, le message d'erreur "fichier endommagé" s'affiche.
Réponse
Récemment, nous avons eu ce cas au support: Lors de l'analyse, il en ressort que le contenu des fichiers générés est du code HTML lisible et non un encodage PDF. Ce code HTML semble être une page de sécurité Salesforce liée aux sessions utilisateurs.
A savoir
Un paramètre a été changé dans le Profil de l'utilisateur concerné, au niveau des Paramètres de session.
A éviter
Le champ Niveau de sécurité de la session requis à la connexion doit être sur Aucun et non sur Assurance élevée qui est très probablement la cause de cette redirection (page qui s'imprime dans vos fichiers PDF générés à la place du blob de données PDF).
Contournement
Ce paramètre étant lié à la Authentification multifacteur (MFA), nous vous suggérons à sa place d'utiliser le paramètre Authentification multifacteur pour les connexions à l'interface utilisateur, toujours au niveau du Profil, mais dans la section Autorisations système.
En résumée
Paramètres de session | Niveau de sécurité de la session requis à la connexion | Aucun | Diminuez l'accès de sécurité en fonction de la méthode d'authentification (de connexion) utilisée pour la session actuelle de l'utilisateur. La plupart des méthodes de connexion utilisent le niveau de sécurité de session Standard. Pour exiger l'authentification multifacteur, augmentez le niveau sur Assurance élevée. |
Autorisations système | Authentification multifacteur pour les connexions à l'interface utilisateur | Activé | Demander aux utilisateurs de fournir une autre méthode de vérification, en plus de leur nom d'utilisateur et de leur mot de passe, lors de la connexion à une organisation Salesforce. |
Pour plus d'information, veuillez lire cet article: Implémentation de l'authentification multifacteur.