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 la permission 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, passez en mode Édition pour l'enregistrement, naviguez vers Options → Mode Configuration, et sélectionnez l'Outil de vérification de syntaxe. Lors de l'apparition de la fenêtre du Vérificateur de syntaxe, les utilisateurs pourront employer la fonction HistoryOf. Des exemples sont fournis ci-dessous.
Syntaxe de la fonction
@HistoryOf(FIELDNAME::CONDITION::TEMPLATE::SORTFIELD::SORTDIRECTION::LIMIT)@
Paramètres disponibles
| Paramètre | Définition |
| FIELDNAME | 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]. |
| TEMPLATE | Définissez comment les résultats seront présentés. Les champs disponibles sont : [Value], [OldValue], [UpdatedTime], [UpdatedBy]. Du texte additionnel peut être inclus pour plus de clarté. |
| SORTFIELD | Spécifiez quel paramètre servira de critère de tri. Options : [Value], [OldValue], [UpdatedTime], [UpdatedBy]. |
| SORTDIRECTION | Indiquez asc (ascendant) ou desc (descendant) pour déterminer l'ordre des résultats. |
| LIMIT | 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. FIELDNAME doit être spécifié, ainsi que CONDITION ou TEMPLATE, comme exigence minimale.
- Pour le paramètre FIELDNAME, 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 par ordre décroissant selon 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é par ordre décroissant de UpdatedTime.
@HistoryOf(Description::[Value] like %test%::::[UpdatedTime]::desc::5)@
Afficher la dernière personne ayant 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 l'interrogation d'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 personnalisé de type date ou datetime, les opérateurs de comparaison >, <, >=, <=, = peuvent être utilisés. La syntaxe pour les valeurs de date est soit : YYYY-MM-DD ou YYYY-MM-DD HH:mm:ss.
[Value] '2019-01-23 13:30:40' AND [Value]
- Les formats de date s'appliquent également au champ [UpdatedTime].
Notes
- Le format de recherche de base peut également être utilisé si souhaité : @HistoryOf(FIELDNAME)@
- Le paramètre TEMPLATE peut inclure des balises HTML pour la mise en forme, telles que des balises paragraphe ou saut de ligne :
<p>[Value]</p>
Exemple : Trouver la première OU la dernière fois que le statut de l'enregistrement a changé en "Terminé"
<!--@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 flux de travail en tant que pièce jointe.
Pour joindre un fichier PDF au début ou à la fin de la vue de la page Web :
<!--@ssattach(position;pdf file location)-->
Où :
- position peut être soit before (avant) ou after (après).
- pdf file location est spécifié comme suit :
| Source du fichier | Syntaxe | Commentaires |
| Dossier Intelligent | /files/folder1/folder2/File_Name.pdf |
Pour obtenir l'URL de vue sélectionnée (View URL) depuis le 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é de fichier unique | @Nom du champ personnalisé.value@ |
|
| Champ personnalisé de 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 du champ Vue de page Web actuelle :
<!--@ssattach(before;/files/1234/123/myfile.pdf )-->
- Pour ajouter un fichier PDF d'un Dossier Intelligent après la page du champ Vue de page Web actuelle :
<!--@ssattach(after;/files/1234/123/myfile.pdf )-->
- Pour ajouter un fichier PDF d'un champ personnalisé de fichier unique nommé "AttachPDFFile" avant la page du champ Vue de page Web actuelle :
<!--@ssattach(before;@AttachPDFFile.value@)-->
- Note : Veuillez vous assurer d'inclure .value
- Pour joindre des fichiers PDF à une Vue de page Web de niveau 1 depuis les 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 depuis les Champs personnalisés d'organisation associés 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 multiple sur l'enregistrement d'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 s'agisse d'un fichier 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 doit varier selon des conditions :
<!--@sslogic('@type@'='contact')-->
<!--@ssattach(after;@parent.contract.value@)-->
<!--@else-->
<!--@ssattach(after;@parent.othercontract.value@)-->
<!--@end-->
Pour joindre un fichier depuis 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 une 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 retournera 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 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.
Utiliser 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, s'il y a des transactions avec des valeurs 10, 15 et 20, l'instruction dans les crochets sera 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 tout en étant 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 date standard, vous devez référencer le champ en utilisant soit @datetime(parent.startdate)@ soit @parent.fullstartdate@.
- Pour sommer une valeur dans un champ de rôle d'entreprise (ID champ personnalisé 123456) pour toutes les entreprises ayant 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 spécifique de niveau 2 (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 montré 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 - tel que le format mois-jour-année, où %m est le mois en deux chiffres, %d est le jour en deux chiffres, et %Y est l'année sur quatre chiffres, la syntaxe suivante peut être utilisée au niveau 2, en référant au 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 | renverra la date au format 30 septembre 2012 |
| %a | renverra le jour abrégé de la semaine, par ex., dim. pour dimanche |
| %b | renverra le nom abrégé du mois, par ex., sep pour septembre |
| %c | renverra le numéro du mois en format abrégé, par ex., 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 ex., 09 pour septembre |
| %p | renverra AM/PM, par ex., AM |
| %r | renverra l'heure complète au format 12 heures, par ex., 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 premier jour de la semaine |
| %w | jour de la semaine (0=dimanche...6=samedi) |
| %y | renverra l'année abrégée, par ex., 12 pour 2012 |
| %D | renverra le jour ordinal du mois, par ex., 30e |
| %H | renverra l'heure (00-23) |
| %M | renverra le nom du mois, par ex., septembre |
| %T | renverra l'heure complète au format 24 heures, par ex., 23:00:00 |
| %U | renverra le numéro de la semaine (00-53) où dimanche est considéré comme premier jour de la semaine |
| %W | renverra le jour de la semaine, par ex., dimanche |
| %Y | renverra l'année sur quatre chiffres, par ex., 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.
Utiliser 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 : il s'agit d'un site externe.
Masquer les boutons AJOUTER/SUPPRIMER dans les 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'éviter toute interruption du code sur la page lorsque des valeurs de champ contenant des guillemets doubles sont référencées dans les Formules de modèle, Conditions de visibilité et 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 Vue de page Web peuvent utiliser un interpréteur logique unique 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éfinies sont satisfaites. 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 supporte pas les instructions logiques imbriquées. En d'autres termes, vous ne pouvez pas imbriquer une instruction sslogic dans une autre sslogic.
- NOTE : la syntaxe sscalculation ne peut pas être utilisée dans une instruction sslogic. La syntaxe sslogic gère les calculs indépendamment, sans nécessiter de syntaxe supplémentaire.
Exemples
- Ce qui suit affichera une image d'un 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 hors de l'Ontario
<!--@end-->Logique Else
- Souvent, il est nécessaire d'afficher un des deux textes — un texte lorsque la condition est remplie et un autre lorsque la condition n'est pas remplie. Cela peut être réalisé avec 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)--> L'individu est majeur. <!--@else--> L'individu est mineur. <!--@end-->
- Ce qui suit affichera deux cases à cocher. Si le genre est masculin, la première case (Homme) sera cochée. Si le genre est féminin, la deuxième case sera cochée :
<!--@sslogic(@parent.owner.age@>=18)--> <input checked="checked" type="checkbox" /> Majeur <input type="checkbox" /> Mineur <!--@else--> <input type="checkbox" /> Majeur <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 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@]'!='')-->
- NOTE : 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 attachera 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 attaché à la Vue de page Web dans toutes les circonstances.
Notes
- SSlogic peut être utilisé uniquement dans les courriels de flux de travail 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 (équivalent d'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 d'une chaîne formatée (contenant des symboles comme "$" ou "%") en nombre en utilisant JavaScript ; vous pouvez utiliser une fonction appelée ssParseNum.
ssParseNum(value, emptyok );
Où :
| Paramètre | Description |
|---|---|
| value | Obligatoire. C'est la valeur à convertir en nombre (par ex. : $5,000.00 et 5,000% seront convertis en 5000) |
| emptyok |
Optionnel. C'est une valeur vraie/faux
|
Exemples
ssParseNum($5,000.50);
Renverra : 5000.5
Si vous souhaitez afficher un ratio de deux champs configurés avec un format monétaire, 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 monétaire en mode édition"
Lors de l'utilisation du paramètre "Afficher le format monétaire 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 ex. CAD donnera en-CA, PAS fr-CA)
OU
ssParseNumFromCurrency(value,locale,1,emptyok);
(si vous connaissez la locale de la devise formatée, par ex. da-DK ou fr-FR ou fr-CA etc.)
| Paramètre | Description |
|---|---|
| value | Obligatoire. C'est la valeur à convertir en nombre (par ex. : $5,000.00 et 5,000 seront convertis en 5000) |
| emptyok |
Optionnel. C'est une valeur vraie/faux
|
| code | Obligatoire. 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)
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'URLs pour accéder à diverses entités dans SmartSimple.
Les jetons sont générés par deux méthodes distinctes de cryptage. Par conséquent, soit ssEncrypt soit ssEncrypt2 est utilisé selon l'entité spécifique concernée :
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 de 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 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="Open" onclick="_openpageview('123456','<ssEncrypt2>@userid@</ssEncrypt2>',1)" >Note : Si vous avez le cryptage 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="Open" 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)
- Intégration de listes de surveillance de fournisseurs tiers
- Données du recensement américain
La syntaxe de la variable ssGet varie selon la base de données interrogée.
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 renvoyé 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 | prénom d'une personne ou nom d'entreprise |
| lastname | 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 réglé 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 manière dont l'"en-tête" des résultats sera retourné. Le modèle par défaut sera utilisé si laissé vide. Les variables qui peuvent être utilisées incluent :
Exemple : "Type de recherche : [[entity]], Recherche pour : [[name]], Enregistrements retournés : [[recordcount]], Date : [[now]]" |
| line template |
Modèle pour la manière dont le "corps" des résultats sera retourné. Le modèle par défaut sera utilisé si laissé vide. Les variables qui peuvent ê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 l'enregistrement 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 listes 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 d'entrer 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 à rechercher, ainsi que le seuil d'analyse, qui détermine que seuls les résultats correspondant ou dépassant le seuil de pourcentage seront affichés.La liste des services tiers supportés avec CSI Web inclut :
- 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 interdites du contrôle 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 d'application des crimes financiers
- Entreprise de services monétaires FinCEN
- Entreprises non éligibles de la Banque mondiale
- Liste d'exclusion des terroristes
- Fugitifs les plus recherchés par le 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 additionnel)@
Le ServiceName dépend du service tiers utilisé :
- 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;;Address or FIPS code;;level;;[[template]]
-
ssURL()
Introduite pour le bénéfice du personnel interne et des partenaires, nous avons implémenté une syntaxe qui résout dynamiquement les URLs pour divers objets et actions du système. Cette amélioration permet aux équipes de configuration de référencer les 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 URLs 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 du portail pointeront automatiquement vers la ressource système appropriée après clonage, éliminant ainsi la nécessité d'ajustements manuels.
Syntaxe
Le format général de la syntaxe est le suivant :
@ssurl(objecttype,action,identifier)@- Le "objecttype" 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 accédée, comme “View” ou "CreateLevelOne".
- L'"identifier" 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 ( ;; ) comme délimiteur. Il est important que toutes les ressources aient 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 | objecttype |
action |
identifier |
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 plusieurs utilisateurs + 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 type |
Résultat : /ex/ex_Apppage.jsp?token=HwwPRhMGZVla |
| UTA - Quadrant d'impact | uta | impactquadrant | Nom UTA, Nom 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~~ |

