HistoryOf()
Cette fonction permet à l'utilisateur de rechercher des entrées spécifiques dans l'historique des champs. Il est important de noter que l'utilisation de cette fonction nécessite l'activation préalable de l'autorisation de champ Suivi des modifications.
Une fois l'historique des champs disponible pour les requêtes, la fonction peut être accessible via le Vérificateur de syntaxe. Pour utiliser le Vérificateur de syntaxe, entrez en mode Édition pour l'enregistrement, naviguez vers Options → Mode Configuration, puis sélectionnez l'Outil Vérificateur de syntaxe. Lors de l'apparition de la fenêtre du Vérificateur de syntaxe, les utilisateurs pourront utiliser la fonction HistoryOf. Des exemples sont fournis ci-dessous.
Syntaxe de la fonction
@HistoryOf(NOMDUCHAMP::CONDITION::MODÈLE::CHAMPTTRI::DIRECTIONTRI::LIMITE)@
Paramètres disponibles
Paramètre | Définition |
NOMDUCHAMP | Indiquez le nom du champ à interroger. |
CONDITION | Spécifiez la condition pour la recherche. Cela peut inclure une valeur spécifique du champ (ancienne ou actuelle), une date (indiquant quand une mise à jour a eu lieu), ou un utilisateur spécifique associé à la mise à jour. Les champs disponibles incluent : [Value], [OldValue], [UpdatedTime], [UpdatedBy]. |
MODÈLE | Définissez comment les résultats seront présentés. Les champs disponibles sont : [Value], [OldValue], [UpdatedTime], [UpdatedBy]. Du texte supplémentaire peut être inclus pour plus de clarté. |
CHAMPTTRI | Spécifiez quelle valeur de paramètre servira de critère de tri. Options : [Value], [OldValue], [UpdatedTime], [UpdatedBy]. |
DIRECTIONTRI | Indiquez asc (ascendant) ou desc (descendant) pour déterminer l'ordre des résultats. |
LIMITE | Le nombre maximal d'entrées correspondantes à afficher. |
- Il est permis de laisser un espace de paramètre vide ; cependant, les séparateurs à double deux-points doivent rester intacts. NOMDUCHAMP doit être spécifié, ainsi que CONDITION ou MODÈLE, comme exigence minimale.
- Pour le paramètre NOMDUCHAMP, les utilisateurs peuvent utiliser un nom de champ standard ou personnalisé, ou un ID de champ personnalisé.
Exemples
Afficher un enregistrement où le champ Nom de l'application a été mis à jour après le 1er février 2019. Les résultats seront triés en ordre descendant par la valeur du champ.
@HistoryOf(Application Name::[UpdatedTime]2019-02-01::::[Value]::desc::1)@
Afficher la personne la plus récente qui a défini le statut sur Approuvé (si ce statut a été attribué plusieurs fois), ainsi que la date et l'heure correspondantes.
@HistoryOf(Status::[Value]='Approved'::Update to [Value] by [UpdatedBy] at [UpdatedTime]::[UpdateTime]::desc::1)@
Afficher un maximum de cinq correspondances où le champ Description contient la chaîne 'test', sans spécifier de modèle d'affichage, triées en ordre descendant par UpdatedTime.
@HistoryOf(Description::[Value] like %test%::::[UpdatedTime]::desc::5)@
Afficher la dernière personne à avoir modifié le statut de l'enregistrement, incluant les anciennes et nouvelles valeurs, ainsi que la date et l'heure.
@HistoryOf(Status::::Changed from [OldValue] to [Value] by [UpdatedBy] on [UpdatedTime]::[UpdatedTime]::desc::1)@
Syntaxe pour le paramètre CONDITION
Lors de la requête sur un type de champ numérique, les opérateurs de comparaison suivants peuvent être utilisés : >, <, >=, <=, =.
[Value]=30
Pour vérifier si une valeur de champ texte contient une sous-chaîne spécifique, utilisez LIKE et %.
[Value] LIKE '%hello%'
Pour un champ date ou datetime personnalisé, les opérateurs >, <, >=, <=, = peuvent être utilisés. La syntaxe pour les valeurs de date est soit : AAAA-MM-JJ ou AAAA-MM-JJ HH:mm:ss.
[Value] '2019-01-23 13:30:40' AND [Value]
- Les formatteurs de date s'appliquent également au champ [UpdatedTime].
Notes
- Le format de recherche de base peut également être utilisé si vous le préférez : @HistoryOf(NOMDUCHAMP)@
- Le paramètre MODÈLE peut inclure des balises HTML pour la mise en forme, telles que des balises de paragraphe ou de saut de ligne :
<p>[Value]</p>
Exemple avancé : Trouver la première OU la dernière fois que le statut de l'enregistrement est passé à "Complété"
<!--@sscalculation(DATE_FORMAT("@HistoryOf(Status::[Value]='Completed'::[UpdatedTime]::[UpdatedTime]::desc::1)@","%d/%m/%Y"))-->
ssAttach()
La fonction ssattach peut être utilisée pour joindre un ou plusieurs documents PDF stockés dans un champ de fichier unique ou un dossier intelligent à un champ de vue de page Web.
Note : Le(s) fichier(s) PDF joint(s) ne seront pas visibles lorsque la page Web est affichée en mode HTML, mais ils seront inclus lors de l'exportation en PDF, de l'enregistrement en PDF, de l'envoi par courriel en PDF, ou créés par un workflow en tant que pièce jointe.
Pour joindre un fichier PDF au début ou à la fin de la vue de page Web :
<!--@ssattach(position;emplacement du fichier pdf)-->
Où :
- position peut être soit before (avant) soit after (après).
- emplacement du fichier pdf est spécifié comme suit :
Source du fichier | Syntaxe | Commentaires |
Dossier intelligent | /files/dossier1/dossier2/Nom_Fichier.pdf |
Pour obtenir l'URL de vue sélectionnée à partir du menu déroulant Options de fichier à côté du fichier pertinent dans le dossier intelligent. La partie initiale de l'URL doit être omise ; l'emplacement spécifié doit commencer par "/files/..." comme illustré dans les exemples ci-dessous. |
Champ personnalisé Fichier unique | @Nom du champ personnalisé.value@ |
|
Champ personnalisé Fichiers multiples | @Nom du champ personnalisé.files@ |
Tous les fichiers PDF stockés dans le champ seront joints. |
Notes :
- Les champs de fichiers uniques ou multiples aux niveaux parent ou grand-parent peuvent également être inclus en utilisant :
@parent.Nom du champ personnalisé.value@
@parent.parent.Nom du champ personnalisé.files@
Exemples
- Pour ajouter un fichier PDF d'un dossier intelligent avant la page actuelle du champ Vue de page Web :
<!--@ssattach(before;/files/1234/123/myfile.pdf )-->
- Pour ajouter un fichier PDF d'un dossier intelligent après la page actuelle du champ Vue de page Web :
<!--@ssattach(after;/files/1234/123/myfile.pdf )-->
- Pour ajouter un fichier PDF d'un champ personnalisé Fichier unique nommé "AttachPDFFile" avant la page actuelle du champ Vue de page Web :
<!--@ssattach(before;@AttachPDFFile.value@)-->
- Note : Veuillez vous assurer d'inclure .value
- Pour joindre des fichiers PDF à une Vue de page Web de niveau 1 à partir des champs personnalisés de rôle UTA situés dans la section contact :
[#(?object=contact;)<!--@ssattach(after;$?opr_123456.value$)-->#]
Où 123456 représente l'ID du champ personnalisé
- Pour joindre des fichiers PDF à une Vue de page Web de niveau 1 à partir des champs personnalisés de l'organisation associée en tant que client sur l'enregistrement de niveau 1 :
<!--@ssattach(after;@client.UploadFieldName.files@)-->
Où UploadFieldName est le nom du champ de téléchargement multi-fichiers sur l'enregistrement de l'organisation.
Informations supplémentaires
- IMPORTANT : Tout fichier PDF ayant des restrictions de sécurité, telles que Copie de contenu ou Copie ou extraction de contenu, est crypté et ne peut pas être inclus.
Les paramètres peuvent être consultés en ouvrant le PDF et en naviguant vers Fichier > Propriétés du document > Sécurité (les étapes peuvent varier selon la version de votre lecteur PDF).
Voir aussi : Afficher les attributs de fichier supplémentaires pour les documents PDF
- La fonction ssattach peut être placée n'importe où dans les balises HTML du champ Vue de page Web.
- Tous les paramètres de page PDF seront déterminés par le premier fichier PDF, qu'il soit statique ou généré par SmartSimple.
- Plusieurs fichiers PDF peuvent être joints à partir de différentes sources en utilisant plusieurs instructions ssattach :
<!--@ssattach(before;/files/1234/123/myfileheader.pdf )--><!--@ssattach(after;/files/1234/123/myfilefooter.pdf )--> <!--@ssattach(after;/files/1234/123/myfileappendix.pdf )--> <html><body> Mon fichier Pdf </body></html>
- sslogic peut être utilisé si le(s) fichier(s) PDF à joindre doivent varier selon des conditions :
<!--@sslogic('@type@'='contact')--> <!--@ssattach(after;@parent.contract.value@)--> <!--@else--> <!--@ssattach(after;@parent.othercontract.value@)--> <!--@end-->
Pour joindre un fichier d'une transaction à une Vue de page Web de niveau 1, utilisez :
@client.[#(?object=transaction::criteria=typename="Transaction Name" and statusname="Submitted"::orderby=trsts desc) <!--@ssattach(after;$fieldname.value$)-->#]@
Exemple :
@client.[#(?object=transaction::criteria=typename="Audited Financial Statements" and statusname="Submitted"::orderby=trsts desc) <!--@ssattach(after;$Recent Audited Financial statements.value$)-->#]@
ssCalculation()
La fonction sscalculation est une syntaxe variable pour :
- Vues de page Web
- Stocker la valeur - Variables système
- Lecture seule - Variables système
Elle fonctionne de manière similaire à sslogic, mais effectue des calculs basés sur la formule fournie. Elle opère comme suit :
<!--@sscalculation('@field@'*0.05)-->
Cela renverra la valeur calculée de '@field@'*0.05 et remplacera la balise sscalculation.
Cela permet des calculs directement dans les vues de page Web sans nécessiter l'utilisation de JavaScript. Cela résout les problèmes liés à la création de fichiers PDF à partir de vues de page Web contenant du JavaScript.
La méthode "sscalculation" utilise la syntaxe MySQL. Toute fonction MySQL telle que concat(...), format(...), round(...) peut être utilisée.
Utilisation de sscalculation dans une liste
Pour calculer une somme (par exemple) des valeurs dans un champ personnalisé pour toutes les transactions associées à une entreprise/contact en utilisant sscalculation :
<!--@sscalculation( [#(?object=transaction)$add this$+#]0)-->
- Important : Il doit y avoir un espace avant le crochet ouvrant.
- De plus, si vous calculez la somme, n'oubliez pas d'inclure le zéro à la fin de l'instruction. Par exemple, si les transactions ont des valeurs de 10, 15 et 20, l'instruction entre crochets serait interprétée comme suit :
[#(?object=transaction)$add this$+#] devient 10+15+20+
Ainsi, le zéro à la fin garantit que l'instruction évaluée ne se termine pas par un signe plus (ce qui provoquerait une erreur).
- Si vous devez récupérer des informations du niveau 1 alors que vous êtes au niveau 2 dans la balise sscalculation, vous pouvez utiliser le mot-clé parent.
<!--@sscalculation(date_format("@parent.fullstartdate@","%Y"))-->
Note : Lors de l'utilisation de date_format avec un champ de date standard, vous devez référencer le champ en utilisant soit @datetime(parent.startdate)@ soit @parent.fullstartdate@.
- Pour sommer une valeur sur un champ de rôle d'entreprise (ID champ personnalisé 123456) pour toutes les entreprises avec le rôle de Agence de financement ET une valeur stockée au niveau 1 (ID champ personnalisé 545454) et la formater sans décimales :
<!--@sscalculation(format(( [#(?object=company::criteria=rolename='Funding Agency') $?opc_123456.value$ + #] @#545454.value#@),0))-->
- Pour calculer la moyenne de toutes les valeurs (ID champ personnalisé 1755555) sur un type de niveau 2 spécifique (typeid=54321), en excluant un statut particulier (statusid n'est pas 10001), arrondi au nombre entier le plus proche :
<!--@sscalculation(format( ( [#(?object=activity::criteria=typeid='54321' and status.statusid not in ('10001')) $1755555$ + #] 0 )/@level2.count(*):typeid='54321' and status.statusid not in ('10001')@,0))-->
- Pour déterminer la différence en jours entre deux dates distinctes :
<!--@sscalculation(datediff('@datetime(currentdate)@','@Last Contact Date@'))-->
- Pour ajouter un nombre de mois à une date équivalent à la quantité sélectionnée dans un autre champ :
<!--@sscalculation(DATE_ADD('@Anticipated Project End Date@', INTERVAL @system.Grants-FinalDisbursementDelay@ MONTH))-->
- Pour soustraire un nombre de mois d'une date, utilisez un nombre négatif pour l'INTERVALLE (par exemple, -6 mois comme ci-dessous) :
<!--@sscalculation(DATE_ADD('@Anticipated Project End Date@', INTERVAL -6 MONTH))-->
- Pour calculer la différence en mois entre deux valeurs de date :
<!--@sscalculation(PERIOD_DIFF(DATE_FORMAT('@Anticipated Project End Date@','%Y%m'),DATE_FORMAT('@Anticipated Project Start Date@','%Y%m')))-->
ou
<!--@sscalculation(TIMESTAMPDIFF( MONTH,'@Start Date.value@','@End Date.value@') )-->
Utilisation de sscalculation pour modifier les formats de date des données dans les champs personnalisés
- Pour extraire les informations date/heure d'un champ personnalisé et les présenter dans un format alternatif, la syntaxe suivante peut être utilisée au niveau 2, en référant le champ fieldname au niveau 1 :
<!--@sscalculation(date_format("@parent.fieldname@","%M %d, %Y"))-->
- Utilisez les arguments suivants pour formater les informations date/heure :
Format | Description |
%M %d, %Y | donnera la date au format 30 septembre 2012 |
%a | renverra le jour abrégé de la semaine, par exemple dim. pour dimanche |
%b | renverra le nom abrégé du mois, par exemple sep pour septembre |
%c | renverra le numéro du mois en format abrégé, par exemple 9 pour septembre |
%d | renverra le jour numérique du mois (01-31) |
%e | renverra le jour numérique du mois (1-31) |
%h | renverra l'heure (01-12) |
%i | renverra les minutes (00-59) |
%j | renverra le jour de l'année (001-366) |
%k | renverra l'heure (0-23) |
%l | renverra l'heure (1-12) |
%m | renverra le numéro du mois, par exemple 09 pour septembre |
%p | renverra l'information AM/PM, par exemple AM |
%r | renverra l'heure complète au format 12 heures, par exemple 12:00:00 AM |
%s | renverra les secondes (00-59) |
%u | renverra le numéro de la semaine (00-53) où lundi est considéré comme le premier jour de la semaine |
%w | jour de la semaine (0=dimanche...6=samedi) |
%y | renverra l'année abrégée, par exemple 12 pour 2012 |
%D | renverra le jour ordinal du mois, par exemple 30e |
%H | renverra l'heure (00-23) |
%M | renverra le nom du mois, par exemple septembre |
%T | renverra l'heure complète au format 24 heures, par exemple 23:00:00 |
%U | renverra le numéro de la semaine (00-53) où dimanche est considéré comme le premier jour de la semaine |
%W | renverra le jour de la semaine, par exemple dimanche |
%Y | renverra l'année sur quatre chiffres, par exemple 2013 |
Note : Toute syntaxe MySQL peut être utilisée dans sscalculation.
- Il n'est pas nécessaire d'utiliser sscalculation si le champ personnalisé référencé est au même niveau que le champ qui le référence. Par exemple, si vous référencez un champ personnalisé de niveau 2 dans un champ de vue de page Web au niveau 2. Dans ce cas, vous pouvez utiliser la syntaxe décrite sur la page Variables du champ Vue de page Web.
Utilisation de sscalculation pour remplacer du texte
Dans l'exemple suivant, la variable @Select Many Checkbox Fields@ produit une liste de valeurs sélectionnées séparées par des points-virgules :
Option 1;Option 2;Option 3
Pour remplacer les points-virgules par une virgule suivie d'un espace, la syntaxe suivante peut être utilisée :
<!--@sscalculation(REPLACE("@Select Many Checkbox Field@",";",", "))-->
...ce qui donnera :
Option 1, Option 2, Option 3
Références
- Format de date MySQL Note : ceci est un site externe.
Masquer les boutons AJOUTER/SUPPRIMER des formulaires par rôle
<!--@sslogic("@me.inRole(Applicant)@")-->
var oldLoadXML = loadXML;
loadXML = function() {
oldLoadXML();
disableProjectedAthletesInterimReport();
}
function disableProjectedAthletesInterimReport()
{
$("a[name='addDynamicRowButton']").each(function( index ) {
$(this).parent().hide();
});
$("a[name$='_deletebutton']").each(function( index ) {
$(this).parent().hide();
});
}
<!--@end-->
ssEscape()
Cette syntaxe sert à "échapper" les guillemets doubles dans les champs texte. L'objectif est d'empêcher la perturbation du code sur la page lorsque les valeurs des champs contenant des guillemets doubles sont référencées dans les Formules de modèle, les Conditions de visibilité et les Scripts du navigateur.
IMPORTANT : Cette syntaxe échappe/ignore les guillemets doubles (") et élimine les balises HTML.
<ssEscape>.....</ssEscape>
Exemples
- Lors de l'utilisation de formules de modèle pour échapper les guillemets doubles d'un champ texte à une seule ligne.
@level1.name@="<ssEscape>@level1.Proposal Title@</ssEscape>";
- Lors de l'utilisation de formules de modèle pour échapper les guillemets doubles d'un champ texte à plusieurs lignes.
@level1.description@="<ssEscape>@level1.Project Description.value@</ssEscape>";
- Lors de l'application de scripts du navigateur pour échapper les guillemets doubles d'une variable.
var name="<ssEscape>@name@</ssEscape>"; if(name=="") function goes here....
- Lors de l'utilisation de Sslogic ou de conditions de visibilité pour échapper les guillemets doubles d'un champ texte à une seule ligne.
<!--@sslogic("<ssEscape>@name@</ssEscape>"!="")--> Il existe un titre de projet avec des guillemets doubles <!--@end-->
ssLogic()
Les champs de Vue de page Web peuvent utiliser un interpréteur logique unique de SmartSimple. La logique de page Web offre la capacité d'afficher un contenu spécifique ou d'exécuter certaines actions uniquement lorsque des conditions prédéterminées sont remplies. La logique SmartSimple utilise la syntaxe suivante :
<!--@sslogic(CONDITION)--> Le contenu à afficher lorsque la condition est vraie. Cela peut comprendre plusieurs lignes. <!--@end-->
- Le contenu à afficher (la ligne du milieu) peut être en texte brut ou en HTML.
- Assurez-vous qu'il y a des guillemets (simples ou doubles) entourant la variable et la valeur. Note : Le choix des guillemets dépend du contenu de la variable. Par exemple, les noms contenant des apostrophes doivent utiliser des guillemets doubles lors de la référence à cette variable.
- SSlogic ne prend pas en charge les instructions logiques imbriquées. Autrement dit, vous ne pouvez pas intégrer une instruction sslogic à l'intérieur d'une autre instruction sslogic.
- REMARQUE : la syntaxe sscalculation ne peut pas être utilisée dans une instruction sslogic. La syntaxe sslogic gérera les calculs indépendamment, sans nécessiter d'instructions supplémentaires.
Exemple :
- Ce qui suit affichera une image de sapin de Noël si le mois est décembre :
<!--@sslogic(month(now())=12)--> <img src="images/xmasstree.jpg" alt="" /> <!--@end-->
- Précédez le signe égal d'un point d'exclamation pour tester la non-égalité
- Ce qui suit affichera un message pour toutes les provinces sauf l'Ontario :
<!--@sslogic("@province@"!="Ontario")--> Vous êtes en dehors de l'Ontario <!--@end-->
Logique Else
- Souvent, il est nécessaire d'afficher un de deux textes : un texte lorsque la condition est remplie et un autre lorsque la condition n'est pas remplie. Cela peut être réalisé à l'aide d'un opérateur "else".
- Le code d'exemple suivant affichera un message si un utilisateur est masculin et un autre si l'utilisateur est féminin :
<!--@sslogic(@age@>=18)--> La personne est majeure. <!--@else--> La personne est mineure. <!--@end-->
- Ce qui suit affichera deux cases à cocher. Si le sexe est masculin, la première case (Masculin) sera cochée. Si le sexe est féminin, la deuxième case sera cochée :
<!--@sslogic(@parent.owner.age@>=18)--> <input checked="checked" type="checkbox" /> Adulte <input type="checkbox" /> Mineur <!--@else--> <input type="checkbox" /> Adulte <input checked="checked" type="checkbox" /> Mineur <!--@end-->
Options multiples (syntaxe "else if") :
Plusieurs opérateurs "else if" peuvent être utilisés s'il y a plus de deux options :
<!--@sslogic(condition 1)-->aaa <!--@else if(condition 2)-->bbb <!--@else if(condition 3)-->ccc <!--@else-->ddd <!--@end--></nowiki></nowiki></nowiki>
Exemple :
<!--@sslogic("@possibility@"="Yes")--> Cela se produira sûrement. <!--@else if("@possibility@"="No")--> Cela ne se produit pas. <!--@else if("@possibility@"="Maybe")--> Cela peut ou non se produire. <!--@else--> Personne ne sait ce qui va arriver. <!--@end-->
Conditions multiples
- Il est permis d'inclure plus d'une condition :
<!--@sslogic('@year@'='2008' AND ('@month@'='1' OR '@month@'='2'))--> Ceci est affiché uniquement si l'année est 2008 et que le mois est janvier ou février. <!--@end-->
Champs contenant des guillemets simples ou doubles
- SSlogic peut être utilisé pour afficher des champs pouvant contenir des guillemets simples ou doubles.
- La fonction escape[] est utilisée pour cela :
<!--@sslogic('escape["23456$]'!='')-->
<!--@sslogic('escape[@Field Name@]'!='')-->
- REMARQUE : La fonction doit être entourée de guillemets simples.
Utilisation des listes d'objets
- Les listes d'objets peuvent également être utilisées dans SSlogic.
<!--@sslogic("[#(?object=contact::criteria=rolename='Supervisor'::groupfunction=count)~userid~#]">0)--> Il y a au moins un superviseur <!--@else--> Il n'y a pas de superviseurs <!--@end-->
Utilisation de SSattach
- SSlogic peut être utilisé pour déterminer quel fichier PDF est ajouté à la Vue de page Web en utilisant ssattach
- L'exemple suivant joindra myfilefooter.pdf si le Type/Modèle est Contrat, et myotherfilefooter.pdf sinon :
<!--@sslogic("@type@"="Contract")--> <!--@ssattach(after;/files/1234/123/myfilefooter.pdf)--> <!--@else--> <!--@ssattach(after;/files/1234/123/myotherfilefooter.pdf )--> <!--@end-->
Note : ssattach peut être utilisé sans sslogic si vous souhaitez que le même fichier PDF soit joint à la Vue de page Web dans tous les cas.
Notes
- SSlogic peut être utilisé uniquement dans les courriels de workflow au niveau 1.
-
En général, les guillemets doubles (") doivent être utilisés pour entourer les variables plutôt que les guillemets simples ('). Si le contenu inclut une apostrophe (équivalente à un guillemet simple), cela peut perturber le traitement. Les guillemets doubles sont moins fréquemment utilisés dans le contenu. Il peut être conseillé d'ajouter un événement onchange au champ source pour empêcher la saisie de guillemets doubles.
SsParseNum()
Pour convertir un nombre depuis une chaîne formatée (contenant des symboles comme "$" ou "%") en nombre en JavaScript, vous pouvez utiliser une fonction appelée ssParseNum.
ssParseNum(value, emptyok );
Où :
Paramètre | Description |
---|---|
value | Requis. La valeur à convertir en nombre (ex : $5,000.00 et 5,000% seront convertis en 5000) |
emptyok |
Optionnel. Valeur booléenne
|
Exemples
ssParseNum($5,000.50);
Retournera : 5000.5
Si vous souhaitez afficher un ratio de deux champs formatés en devise, vous devez convertir les valeurs en nombres en utilisant ssParseNum :
ssParseNum([field1])/ssParseNum([field2])
Exigences
Cette fonction fait partie de la bibliothèque sstools.js et doit être ajoutée aux champs personnalisés de Script navigateur ou sur les pages de modèle, pages d'inscription, etc. en utilisant la syntaxe suivante :
<SCRIPT type="text/javascript" language="javascript" src="/sstools.js"></SCRIPT>
Lors de l'utilisation de "Afficher le format de devise en mode édition"
Lors de l'utilisation du paramètre "Afficher le format de devise en mode édition" pour les champs personnalisés, la syntaxe suivante doit être utilisée :
ssParseNumFromCurrency(value,getLocalestrByCurrency(code),1,emptyok);
(getLocalestrByCurrency récupérera la locale "par défaut" du code de devise, par exemple CAD donnera en-CA, PAS fr-CA)
OU
ssParseNumFromCurrency(value,locale,1,emptyok);
(si vous connaissez la locale de la devise formatée, ex : da-DK ou fr-FR ou fr-CA etc.)
Où :
Paramètre | Description |
---|---|
value | Requis. La valeur à convertir en nombre (ex : $5,000.00 et 5,000 seront convertis en 5000) |
emptyok |
Optionnel. Valeur booléenne
|
code | Requis. Code de devise à trois lettres défini par ISO 4217. Exemple : JPY pour Yen japonais. |
Exemples :
ssParseNumFromCurrency([YER Total revenue],getLocalestrByCurrency('CAD'),1,true) - ssParseNumFromCurrency([YER Total expenses],getLocalestrByCurrency('CAD'),1,true)
ou
-
ssParseNumFromCurrency([YER Total revenue],'fr-CA',1,true) - ssParseNumFromCurrency([YER Total expenses],'fr-CA',1,true)
SsEncrypt
Les fonctions ssEncrypt et ssEncrypt2 sont utilisées pour la génération dynamique de jetons cryptés, facilitant la création d'URL pour accéder à diverses entités dans SmartSimple.
Les jetons sont générés par deux méthodes de cryptage distinctes. Par conséquent, soit ssEncrypt soit ssEncrypt2 est utilisé selon l'entité spécifique :
Jeton de page modèle de niveau 1
<ssEncrypt>typeid,rootcompanyid</ssEncrypt>
Jeton de page modèle de niveau 2
<ssEncrypt>typeid,appid,rootcompanyid</ssEncrypt>
Lors du cryptage des paramètres dans un modèle de niveau 2 activé sur Internet (situé à l'URL /ex/ex_Evtpage.jsp), il est conseillé d'utiliser ssEncrypt2.
- Au lieu d'utiliser 'eventid' comme paramètre, utilisez 'codedid'
- Au lieu d'utiliser 'parentids' comme paramètre, utilisez 'enparentids'
Non crypté :
https://alias.smartsimple.com/ex/ex_Evtpage.jsp?token=Gw4NRhwGZVhdQhNRXxdTQlRVbFI%3D&parentids=@parent.opportunityid@&eventid=@eventid@
Crypté :
https://alias.smartsimple.com/ex/ex_Evtpage.jsp?token=Gw4NRhwGZVhdQhNRXxdTQlRVbFI%3D&enparentids=<ssEncrypt2>@opportunityid@</ssEncrypt2>&codedid=<ssEncrypt2>@eventid@</ssEncrypt2>
Jeton de Vue de page Web
<ssEncrypt2>objectid</ssEncrypt2>
Par exemple, pour accéder à la Vue de page Web avec l'ID de champ personnalisé 123456 associé à un contact, la syntaxe suivante doit être utilisée :
<input type=button class=Button value="Ouvrir" onclick="_openpageview('123456','<ssEncrypt2>@userid@</ssEncrypt2>',1)" >
Note : Si vous avez le chiffrement des paramètres URL activé, l'ID du champ personnalisé doit également être crypté en utilisant ssEncrypt3. Si le champ personnalisé 654321 est au niveau 1 :
<input type=button class=Button value="Ouvrir" onclick="_openpageview('<ssEncrypt3>654321</ssEncrypt3>','<ssEncrypt2>@opportunityid@</ssEncrypt2>',1)" >
Intersection de rôle de contact (Niveau 1)
<ssEncrypt2>oprid</ssEncrypt2>
Exemple (champ personnalisé situé sur le rôle UTA de niveau 1) :
<input type=button class="Button" onclick="javascript:openRoleFields('<ssEncrypt2>@oprid@</ssEncrypt2>',@roleid@)" value="Mon vote"/> <script> function openRoleFields(objectid,roleid){ fieldid_window = window.open('/s_editcustomfields.jsp?iswin=1&objecttype=91&opportunityid=@levelone.opportunityid@&itemlist='+roleid+'&objectid='+objectid,'field_window','menubar=no,scrollbars=yes,width=850,height=300,status=no,resizable=yes,top=200,left=200,dependent=yes,alwaysRaised=yes'); fieldid_window.opener = window; fieldid_window.focus(); } </script>
Jeton de transaction
<ssEncrypt>userid,typeid</ssEncrypt>
ssGet()
La variable ssGet est utilisée pour extraire des informations de diverses bases de données, notamment :
- La base de données OFAC (Office of Foreign Assets Control)
- Les fournisseurs tiers d'intégration de listes de surveillance
- Les données du recensement américain
La syntaxe de la variable ssGet varie selon la base de données dont les informations sont extraites.
Configuration - Office of Foreign Assets Control (OFAC)
Des vérifications à la demande peuvent être effectuées contre la base de données en ligne de l'OFAC dans SmartSimple. Par exemple, sur un profil d'organisation, un champ Vue de page Web peut être configuré pour afficher les résultats de vérification suivants :
Dans l'illustration ci-dessus, la vérification OFAC a retourné un seul résultat de correspondance à 100 % pour le nom de l'entreprise, sans résultats pour les contacts associés. La syntaxe pour configurer la vérification OFAC est la suivante :
@ssGet(OFAC,entity;;firstname;;lastname;;search options;;roleslist;;meta template;;line template)@
Paramètres expliqués - Office of Foreign Assets Control (OFAC)
Paramètre | Description |
Entity | accepte "people", "company" ou "all" |
firstname | le prénom d'une personne ou le nom d'une entreprise |
lastname | le nom de famille d'une personne (sera ignoré si entity est "company" ou "all") |
search options |
accepte "1", "2" ou "3"
|
rolelist | s'applique si "search options" est défini sur "2" ou "3". Doit être au format liste délimitée par des virgules de Roleid ou noms de rôle (mais pas un mélange d'IDs et de noms). |
meta template |
Modèle pour la façon dont "l'en-tête" des résultats sera retourné. Le modèle par défaut sera utilisé si laissé vide. Les variables pouvant être utilisées incluent :
Exemple : "Type de recherche : [[entity]], Recherche pour : [[name]], Nombre d'enregistrements : [[recordcount]], Date : [[now]]" |
line template |
Modèle pour la façon dont le "corps" des résultats sera retourné. Le modèle par défaut sera utilisé si laissé vide. Les variables pouvant être utilisées incluent :
|
Pour effectuer une vérification OFAC ad hoc sur un enregistrement d'organisation spécifique, un champ Vue de page Web doit être créé dans les champs personnalisés de l'organisation. Le contenu du champ Vue de page Web peut être configuré de manière similaire à l'exemple illustré ci-dessous :
-
Lors de l'utilisation d'un champ Vue de page Web, vous avez la possibilité d'activer « Enregistrer sur le serveur » dans les paramètres du champ. Cette fonctionnalité vous permet de définir un champ de téléchargement sur le profil de l'organisation où la copie PDF stockée des résultats OFAC sera sauvegardée lors du déclenchement.
Configuration - Analyse de liste de surveillance
SmartSimple, en collaboration avec nos fournisseurs de listes de surveillance (CSI Web ou Lexis Nexis Bridger), peut fournir l'accès à des listes de services tiers supplémentaires au-delà de la liste OFAC. Lors de l'utilisation de ces services, un accord contractuel doit être établi avec l'un des deux fournisseurs intégrés. Les identifiants de compte reçus seront utilisés dans votre instance SmartSimple pour faciliter l'intégration.
Dans les Paramètres globaux, sous l'onglet Intégrations, vous trouverez les Paramètres de liste de surveillance.
Les Paramètres de liste de surveillance permettent de saisir votre ID de facturation et mot de passe pour le service tiers utilisé.
Lors de l'utilisation de CSI Web, il existe des paramètres pour définir la ou les listes de surveillance que vous souhaitez rechercher, ainsi que le seuil de balayage, qui détermine que seuls les résultats correspondant ou dépassant le pourcentage de correspondance seront affichés.La liste des services tiers pris en charge avec CSI Web comprend :
- Bureau américain de l'industrie et de la sécurité
- Département d'État - Bureau de la sécurité internationale et de la non-prolifération
- Département d'État - Liste des parties exclues des contrôles du commerce de défense
- Organisation internationale de police criminelle (INTERPOL)
- Personnes politiquement exposées, agents étrangers de la CIA
- Bureau de l'inspecteur général
- Système de liste des parties exclues fourni par l'Administration des services généraux (GSA)
- Réseau de lutte contre les crimes financiers
- Entreprise de services monétaires FinCEN
- Banque mondiale - entreprises inéligibles
- Liste d'exclusion des terroristes
- Fugitifs les plus recherchés du FBI
Lors de l'utilisation de Lexis Nexis Bridger, les paramètres pour les services de liste de surveillance inclus dans chaque analyse, ainsi que les paramètres de seuil, seront gérés dans votre compte Lexis Nexis et non dans l'instance SmartSimple.
Retour d'informations depuis la liste de surveillance
La syntaxe pour configurer la vérification de la liste de surveillance est la suivante :
@ssGet(ServiceName,entity;;firstname;;lastname;;search options;;roleslist;;meta template;;line template;;attribut de recherche supplémentaire)@
Le ServiceName dépend du service tiers que vous utilisez :
- CSI Web : WatchList
- Lexis Nexis : LexisNexis
-
Configuration - Base de données en ligne du recensement américain
@ssGet(FFD,FIPS;;@address@ @city@ @state@)@
@ssGet(FFD,Profile;;year;;Adresse ou code FIPS;;niveau;;[[modèle]])@
-
ssURL()
Introduit pour le bénéfice du personnel interne et des partenaires, nous avons mis en place une syntaxe qui résout dynamiquement les URL pour divers objets et actions du système. Cette amélioration permet aux équipes de configuration de référencer des objets système en utilisant des variables, optimisant ainsi le processus de configuration lors de la duplication de nouveaux systèmes. Auparavant, les équipes de configuration devaient modifier manuellement les URL en raison d'attributs uniques tels que des IDs qui varient dans les systèmes clonés. Avec l'introduction de cette nouvelle syntaxe, les liens vers des ressources telles que les pages de connexion et d'inscription, les graphiques de rapports, les boutons de soumission et les sections de portail pointeront automatiquement vers la ressource système appropriée après clonage, éliminant ainsi le besoin d'ajustements manuels.
Syntaxe
Le format général de la syntaxe est le suivant :
@ssurl(typeobjet,action,identifiant)@
- Le "typeobjet" fait référence au type d'objet référencé, par exemple "Signup" pour une page d'inscription.
- L'"action" concerne l'opération effectuée ou accessible, comme “View” ou "CreateLevelOne".
- L'"identifiant" désigne le nom de l'objet référencé, par exemple le nom attribué à une page d'inscription ou un autoloader. En cas de multiples identifiants, séparez-les par des doubles points-virgules ( ;; ). Il est important que les équipes de configuration s'assurent que tous les objets possèdent un identifiant unique (nom) ; si deux autoloaders sont créés avec le même nom, le système ne retournera que l'autoloader avec l'ID le plus bas.
Exemples d'utilisation
Référez-vous au tableau ci-dessous pour la syntaxe variable prise en charge.
Description | typeobjet |
action |
identifiant |
Exemples avec résultats résolus |
---|---|---|---|---|
Page d'inscription | signup | view | Nom de la page d'inscription |
Exemple de page d'inscription utilisateur : Résultat : /s_signup.jsp?token=XVtQC1oGZlBfRxddXxdSQUlSZ1R9Ew%3D%3D
Résultat : /s_csignup.jsp?token=XVtQHUUGZV1YShBFQhdQXlZSZVxy
Résultat : /s_csignup.jsp?token=XVtQHUUGbFxRQhFaXxdSQUlSZ1R9HQ%3D%3D&ptoken=XVtQC1oGZlBeQBNZXxdSQUlTYFZzEg%3D%3D Exemple page utilisateurs multiples + organisation : Résultat : /s_csignup.jsp?token=XVtQHUUGbFxcRhRRXxdSQUlSZ1R9Eg%3D%3D |
UTA - Vue liste principale | uta | listview | Nom UTA |
Résultat : /iface/uta/uta_list.jsp?appid=102161 |
UTA - Créer niveau un | uta | createlevelone | Nom UTA |
Résultat : /Apps/app_editopportunity.jsp?appid=102161&opportunityid=0 |
UTA - Page modèle | uta | templatepage | Nom UTA, Nom du type |
Résultat : /ex/ex_Apppage.jsp?token=HwwPRhMGZVla |
UTA - Quadrant d'impact | uta | impactquadrant | Nom UTA, Nom du quadrant |
Résultat : /Apps/db/db_impact.jsp?impactid=@Hw0ERBkfbV5bQRRQRh8~ |
Rapport | report | view | Nom du rapport |
Résultat : /userreport/ur_openreport.jsp?reportid=44372 |
Graphique de rapport | reportchart | view | Nom du rapport, Nom du graphique |
Exemple de graphique côté client : Résultat : /ex/ex_highchart.jsp?enc=1&chartid=H3ZfFAVpLgcxAVQ8GFAMERALMTY1QRYeH2JdUEJB&reportid=f1oJDE4bexInFm8TRRYqIxEmPA8rbTAKH2dZUkVG&rootcompany=GGZzFn0FZhk8JRocHGdIBBI7EzUSYAcDH2JcUg~~
Résultat : /servlet/wChart?width=300&height=200&codedid=YnoRF35kEjwDHm0DMUQMNQ0kZwcdHTgRH2JdUEJC |
Tableau de bord de rapport | dashboard | view | Nom du tableau de bord |
Résultat : /userreport/ur_viewdb.jsp?dashbid=2348 |
Dossier intelligent (Vue) | smartfolder | view | Nom du dossier intelligent |
Résultat : /s_editresource.jsp?display=1&resourceid=68826 |
Dossier intelligent - Vue (Internet activé) | smartfolder | viewinet | Nom du dossier intelligent |
Résultat : /files/113/68827/169542folderinet/ |
Autoloader - Dropbox | autoloader | dropbox | Nom de l'autoloader |
Résultat : /Archive/al_upload.jsp?loaderid=BEUFe2sDA1d7aV1cQUYBRWUDdgVhe2tRCwUDBg~~ |
AI Insight | aiinsight | view | Nom |
Résultat : /AI/ai_workingwithai.jsp?token=%40HwwMTxwbeFhFQhFFQRxZQVVTZFV1G3BhHQ~~ |