HistoryOf()
Esta función permite al usuario buscar entradas específicas en el historial de campos. Es importante señalar que el uso de esta función requiere la activación previa del permiso de campo Rastrear Cambios.
Una vez que el historial de campos esté disponible para consultas, la función puede accederse a través del Verificador de Sintaxis. Para utilizar el Verificador de Sintaxis, ingrese en modo Edición para el registro, navegue a Opciones → Modo de Configuración y seleccione la Herramienta Verificador de Sintaxis. Al aparecer la ventana del Verificador de Sintaxis, los usuarios podrán emplear la función HistoryOf. Se proporcionan ejemplos a continuación.
Sintaxis de la Función
@HistoryOf(FIELDNAME::CONDITION::TEMPLATE::SORTFIELD::SORTDIRECTION::LIMIT)@
Parámetros Disponibles
Parámetro | Definición |
FIELDNAME | Indique el nombre del campo a consultar. |
CONDITION | Especifique la condición para la búsqueda. Esto puede incluir un valor específico del campo (ya sea antiguo o actual), una fecha (para indicar cuándo se realizó una actualización) o un usuario específico asociado con la actualización. Los campos disponibles incluyen: [Value], [OldValue], [UpdatedTime], [UpdatedBy]. |
TEMPLATE | Defina cómo se presentarán los resultados. Los campos disponibles son: [Value], [OldValue], [UpdatedTime], [UpdatedBy]. Se puede incluir texto adicional para mayor claridad. |
SORTFIELD | Especifique qué valor de parámetro servirá como criterio de ordenamiento. Las opciones incluyen: [Value], [OldValue], [UpdatedTime], [UpdatedBy]. |
SORTDIRECTION | Indique asc (ascendente) o desc (descendente) para determinar el orden de los resultados. |
LIMIT | El número máximo de entradas coincidentes a mostrar. |
- Se permite dejar un espacio de parámetro vacío; sin embargo, los separadores de doble dos puntos deben mantenerse intactos. FIELDNAME debe especificarse, junto con CONDITION o TEMPLATE, como requisito mínimo.
- Para el parámetro FIELDNAME, los usuarios pueden utilizar un nombre de campo Estándar o Personalizado, o un ID de campo personalizado.
Ejemplos
Mostrar un registro donde el campo Nombre de la Aplicación fue actualizado después del 1 de febrero de 2019. Los resultados se ordenarán en orden descendente por el valor del campo.
@HistoryOf(Application Name::[UpdatedTime]2019-02-01::::[Value]::desc::1)@
Mostrar la persona más reciente que estableció el estado a Aprobado (si ese estado fue asignado más de una vez), junto con la fecha y hora correspondiente.
@HistoryOf(Status::[Value]='Approved'::Update to [Value] by [UpdatedBy] at [UpdatedTime]::[UpdateTime]::desc::1)@
Mostrar un máximo de cinco coincidencias donde el campo Descripción contenga la cadena 'test', sin especificar una plantilla de visualización, ordenado en orden descendente por UpdatedTime.
@HistoryOf(Description::[Value] like %test%::::[UpdatedTime]::desc::5)@
Mostrar la última persona que modificó el Estado del registro, incluyendo tanto los valores antiguos como actuales, junto con la fecha y hora.
@HistoryOf(Status::::Changed from [OldValue] to [Value] by [UpdatedBy] on [UpdatedTime]::[UpdatedTime]::desc::1)@
Sintaxis para el Parámetro CONDITION
Al consultar un tipo de campo numérico, se pueden utilizar los siguientes operadores de comparación: >, <, >=, <=, =.
[Value]=30
Para verificar si un valor de campo de texto contiene una subcadena específica, utilice LIKE y %.
[Value] LIKE '%hello%'
Para un campo de fecha o fecha y hora personalizado, se pueden usar los operadores de comparación >, <, >=, <=, =. La sintaxis para valores de fecha es: YYYY-MM-DD o YYYY-MM-DD HH:mm:ss.
[Value] '2019-01-23 13:30:40' AND [Value]
- Los formateadores de fecha también se aplican al campo [UpdatedTime].
Notas
- También se puede utilizar el formato básico de búsqueda si se prefiere: @HistoryOf(FIELDNAME)@
- El parámetro TEMPLATE puede incluir etiquetas HTML para fines de formato, como etiquetas de párrafo o de salto de línea:
<p>[Value]</p>
Ejemplo avanzado: Encontrar la primera O última vez que el Estado del registro cambió a "Completado"
<!--@sscalculation(DATE_FORMAT("@HistoryOf(Status::[Value]='Completed'::[UpdatedTime]::[UpdatedTime]::desc::1)@","%d/%m/%Y"))-->
ssAttach()
La función ssattach puede utilizarse para anexar uno o más documentos PDF almacenados en un Campo de Archivo Único o en una Carpeta Inteligente a un Campo de Vista de Página Web.
Nota: El(los) archivo(s) PDF adjunto(s) no serán visibles cuando la página web se visualice en modo HTML, pero sí se incluirán al exportar como PDF, guardar como PDF, enviar por correo electrónico como PDF o crear mediante un Flujo de Trabajo como adjunto.
Para adjuntar un archivo PDF al inicio o al final de la Vista de Página Web:
<!--@ssattach(position;pdf file location)-->
Donde:
- position puede ser before o after.
- pdf file location se especifica de la siguiente manera:
Fuente del Archivo | Sintaxis | Comentarios |
Carpeta Inteligente | /files/folder1/folder2/Nombre_Archivo.pdf |
Para obtener la URL de Vista seleccionada desde el menú desplegable Opciones de Archivo junto al archivo correspondiente en la Carpeta Inteligente. Se debe omitir la parte inicial de la URL; la ubicación especificada debe comenzar con "/files/..." como se ilustra en los ejemplos a continuación. |
Campo Personalizado de Archivo Único | @Nombre del Campo Personalizado.value@ |
|
Campo Personalizado de Múltiples Archivos | @Nombre del Campo Personalizado.files@ |
Se adjuntarán todos los archivos PDF almacenados en el campo. |
Notas:
- Los campos de archivo único o múltiple en niveles padre o abuelo también pueden incluirse usando:
@parent.Nombre del Campo Personalizado.value@
@parent.parent.Nombre del Campo Personalizado.files@
Ejemplos
- Para anexar un archivo PDF de una Carpeta Inteligente antes de la página actual del Campo de Vista de Página Web:
<!--@ssattach(before;/files/1234/123/myfile.pdf )-->
- Para anexar un archivo PDF de una Carpeta Inteligente después de la página actual del Campo de Vista de Página Web:
<!--@ssattach(after;/files/1234/123/myfile.pdf )-->
- Para anexar un archivo PDF de un Campo Personalizado de Archivo Único llamado "AttachPDFFile" antes de la página actual del Campo de Vista de Página Web:
<!--@ssattach(before;@AttachPDFFile.value@)-->
- Nota: Asegúrese de incluir .value
- Para adjuntar archivos PDF a una Vista de Página Web de Nivel 1 desde los Campos Personalizados de Rol UTA ubicados en la sección de contacto:
[#(?object=contact;)<!--@ssattach(after;$?opr_123456.value$)-->#]
Donde 123456 representa el ID del Campo Personalizado
- Para adjuntar archivos PDF a una Vista de Página Web de Nivel 1 desde los Campos Personalizados de la organización asociados como Cliente en el registro de Nivel 1:
<!--@ssattach(after;@client.UploadFieldName.files@)-->
Donde UploadFieldName es el nombre del campo personalizado de carga múltiple en el registro de la organización.
Información Adicional
- IMPORTANTE: Cualquier archivo PDF que tenga restricciones de seguridad, como Copia de Contenido o Copia o Extracción de Contenido, está encriptado y no puede ser incluido.
Las configuraciones pueden visualizarse abriendo el PDF y navegando a Archivo > Propiedades del Documento > Seguridad (los pasos pueden variar según la versión de su lector de PDF).
Consulte también: Mostrar Atributos Adicionales de Archivos para Documentos PDF
- La función ssattach puede colocarse en cualquier parte dentro de las etiquetas HTML del Campo de Vista de Página Web.
- Todas las configuraciones de página PDF serán determinadas por el primer archivo de documento PDF, ya sea un archivo estático o uno generado por SmartSimple.
- Se pueden adjuntar múltiples archivos PDF de diferentes fuentes utilizando múltiples declaraciones ssattach:
<!--@ssattach(before;/files/1234/123/myfileheader.pdf )--><!--@ssattach(after;/files/1234/123/myfilefooter.pdf )--> <!--@ssattach(after;/files/1234/123/myfileappendix.pdf )--> <html><body> Mi archivo Pdf </body></html>
- sslogic puede emplearse si el(los) archivo(s) PDF a adjuntar deben variar según declaraciones condicionales:
<!--@sslogic('@type@'='contact')--> <!--@ssattach(after;@parent.contract.value@)--> <!--@else--> <!--@ssattach(after;@parent.othercontract.value@)--> <!--@end-->
Para adjuntar un archivo desde una transacción a una Vista de Página Web de Nivel 1, utilice:
@client.[#(?object=transaction::criteria=typename="Transaction Name" and statusname="Submitted"::orderby=trsts desc) <!--@ssattach(after;$fieldname.value$)-->#]@
Ejemplo:
@client.[#(?object=transaction::criteria=typename="Audited Financial Statements" and statusname="Submitted"::orderby=trsts desc) <!--@ssattach(after;$Recent Audited Financial statements.value$)-->#]@
ssCalculation()
La función sscalculation es una sintaxis variable para:
- Vistas de Página Web
- Almacenar Valor - Variables del Sistema
- Solo Lectura - Variables del Sistema
Funciona de manera similar a sslogic, pero realiza cálculos basados en la fórmula proporcionada. Opera de la siguiente manera:
<!--@sscalculation('@field@'*0.05)-->
Esto devolverá el valor calculado de '@field@'*0.05 y reemplazará la etiqueta sscalculation.
Esto permite realizar cálculos directamente dentro de las vistas de página web sin necesidad de usar JavaScript. Esto soluciona problemas relacionados con la creación de archivos PDF a partir de vistas de página web que contienen JavaScript.
El método "sscalculation" emplea sintaxis MySQL. Se pueden utilizar funciones MySQL como concat(...), format(...), round(...), entre otras.
Uso de sscalculation en una Lista
Para calcular una suma (por ejemplo) de los valores en un Campo Personalizado para todas las transacciones asociadas con una Compañía/Contacto usando sscalculation:
<!--@sscalculation( [#(?object=transaction)$add this$+#]0)-->
- Importante: Debe haber un espacio antes del corchete de apertura.
- Además, si está calculando la suma, no olvide incluir el cero al final de la declaración. Por ejemplo, si hay transacciones con valores de 10, 15 y 20, la declaración dentro de los corchetes se interpretará así:
[#(?object=transaction)$add this$+#] se convierte en 10+15+20+
Por lo tanto, el cero al final asegura que la declaración evaluada no termine con un signo más (lo que causaría un error).
- Si necesita recuperar información del nivel 1 mientras está en el nivel 2 dentro de la etiqueta sscalculation, puede utilizar la palabra clave parent.
<!--@sscalculation(date_format("@parent.fullstartdate@","%Y"))-->
Nota: Al usar date_format con un campo de fecha estándar, debe referenciar el campo usando @datetime(parent.startdate)@ o @parent.fullstartdate@.
- Para sumar un valor en un campo de Rol de Compañía (ID del Campo Personalizado 123456) para todas las compañías con el rol de Agencia Financiera Y un valor almacenado en nivel 1 (ID del Campo Personalizado 545454) y formatearlo sin decimales:
<!--@sscalculation(format(( [#(?object=company::criteria=rolename='Funding Agency') $?opc_123456.value$ + #] @#545454.value#@),0))-->
- Para calcular el promedio de todos los valores (ID del Campo Personalizado 1755555) en un Tipo específico de Nivel 2 (typeid=54321), excluyendo un estado particular (statusid no es 10001), redondeado al número entero más cercano:
<!--@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))-->
- Para determinar la diferencia en días entre dos fechas distintas:
<!--@sscalculation(datediff('@datetime(currentdate)@','@Last Contact Date@'))-->
- Para añadir un número de meses a una fecha equivalente a la cantidad seleccionada en otro campo:
<!--@sscalculation(DATE_ADD('@Anticipated Project End Date@', INTERVAL @system.Grants-FinalDisbursementDelay@ MONTH))-->
- Para restar un número de meses a una fecha, utilice un número negativo para el INTERVALO (por ejemplo, -6 meses como se muestra a continuación):
<!--@sscalculation(DATE_ADD('@Anticipated Project End Date@', INTERVAL -6 MONTH))-->
- Para calcular la diferencia en meses entre dos valores de fecha:
<!--@sscalculation(PERIOD_DIFF(DATE_FORMAT('@Anticipated Project End Date@','%Y%m'),DATE_FORMAT('@Anticipated Project Start Date@','%Y%m')))-->
o
<!--@sscalculation(TIMESTAMPDIFF( MONTH,'@Start Date.value@','@End Date.value@') )-->
Uso de sscalculation para Modificar Formatos de Fecha de Datos en Campos Personalizados
- Para extraer información de fecha/hora de un campo personalizado y presentarla en un formato alternativo, se puede emplear la siguiente sintaxis en nivel 2, haciendo referencia al campo fieldname en nivel 1:
<!--@sscalculation(date_format("@parent.fieldname@","%M %d, %Y"))-->
- Utilice los siguientes argumentos para formatear la información de fecha/hora:
Formato | Descripción |
%M %d, %Y | producirá la fecha en el formato 30 de septiembre de 2012 |
%a | devolverá el día de la semana abreviado, por ejemplo, Dom. para domingo |
%b | devolverá el nombre abreviado del mes, por ejemplo, Sep para septiembre |
%c | devolverá el número del mes en formato abreviado, por ejemplo, 9 para septiembre |
%d | devolverá el día numérico del mes (01-31) |
%e | devolverá el día numérico del mes (1-31) |
%h | devolverá la hora (01-12) |
%i | devolverá los minutos (00-59) |
%j | devolverá el día del año (001-366) |
%k | devolverá la hora (0-23) |
%l | devolverá la hora (1-12) |
%m | devolverá el número del mes, por ejemplo, 09 para septiembre |
%p | devolverá información AM/PM, por ejemplo, AM |
%r | devolverá la hora completa en formato de 12 horas, por ejemplo, 12:00:00 AM |
%s | devolverá los segundos (00-59) |
%u | devolverá el número de semana (00-53) donde el lunes se considera el primer día de la semana |
%w | día de la semana (0=domingo...6=sábado) |
%y | devolverá el año abreviado, por ejemplo, 12 para 2012 |
%D | devolverá el día ordinal del mes, por ejemplo, 30º |
%H | devolverá la hora (00-23) |
%M | devolverá el nombre del mes, por ejemplo, septiembre |
%T | devolverá la hora completa en formato de 24 horas, por ejemplo, 23:00:00 |
%U | devolverá el número de semana (00-53) donde el domingo se considera el primer día de la semana |
%W | devolverá el día de la semana, por ejemplo, domingo |
%Y | devolverá el año con cuatro dígitos, por ejemplo, 2013 |
Nota: Se puede utilizar cualquier sintaxis MySQL dentro de sscalculation. Consulte este enlace para opciones adicionales de formato de fecha/hora. (Nota: este es un sitio web externo.)
- No es necesario usar sscalculation si el campo personalizado al que se hace referencia está en el mismo nivel que el campo que lo referencia. Por ejemplo, si está haciendo referencia a un campo personalizado de nivel 2 en un campo de vista de página web en nivel 2. En tales casos, puede emplear la sintaxis descrita en la página Variables del Campo de Vista de Página Web.
Uso de sscalculation para Reemplazar Texto
En el siguiente ejemplo, la variable @Select Many Checkbox Fields@ produce una lista separada por punto y coma de valores seleccionados del campo:
Opción 1;Opción 2;Opción 3
Para reemplazar los puntos y comas con una coma seguida de un espacio, se puede utilizar la siguiente sintaxis:
<!--@sscalculation(REPLACE("@Select Many Checkbox Field@",";",", "))-->
...lo que producirá:
Opción 1, Opción 2, Opción 3
Referencias
- Formato de Fecha MySQL Nota: este es un sitio web externo.
Ocultar botones AGREGAR/ELIMINAR en formularios por rol
<!--@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()
Esta sintaxis sirve para "escapar" las comillas dobles en campos de texto. El propósito es evitar interrupciones en el código de la página cuando se hacen referencias a valores de campo que contienen comillas dobles en Fórmulas de Plantilla, Condiciones de Visibilidad y Scripts de Navegador.
IMPORTANTE: Esta sintaxis escapará/ignora las comillas dobles (") y eliminará etiquetas HTML.
<ssEscape>.....</ssEscape>
Ejemplos
- Al emplear fórmulas de plantilla para escapar comillas dobles de un campo de texto de una sola línea.
@level1.name@="<ssEscape>@level1.Proposal Title@</ssEscape>";
- Al utilizar fórmulas de plantilla para escapar comillas dobles de un campo de texto de múltiples líneas.
@level1.description@="<ssEscape>@level1.Project Description.value@</ssEscape>";
- Al aplicar scripts de navegador para escapar comillas dobles de una variable.
var name="<ssEscape>@name@</ssEscape>"; if(name=="") function goes here....
- Al emplear Sslogic o condiciones de visibilidad para escapar comillas dobles de un campo de texto de una sola línea.
<!--@sslogic("<ssEscape>@name@</ssEscape>"!="")--> Existe un título de proyecto con comillas dobles <!--@end-->
ssLogic()
Los campos de Vista de Página Web pueden utilizar un intérprete lógico único de SmartSimple. La lógica de la página web proporciona la capacidad de mostrar contenido específico o ejecutar ciertas acciones solo cuando se cumplen condiciones predeterminadas. La lógica de SmartSimple emplea la siguiente sintaxis:
<!--@sslogic(CONDITION)--> El contenido a mostrar cuando la condición es verdadera. Esto puede comprender más de una línea. <!--@end-->
- El contenido a mostrar (la línea del medio) puede estar en texto plano o HTML.
- Asegúrese de que haya comillas (simples o dobles) alrededor de la variable y el valor. Nota: La elección de comillas depende del contenido de la variable. Por ejemplo, los nombres que contienen apóstrofes deben usar comillas dobles al referenciar esa variable.
- SSlogic no admite declaraciones lógicas anidadas. En otras palabras, no puede incrustar una declaración sslogic dentro de otra sslogic.
- NOTA: la sintaxis sscalculation no puede emplearse dentro de una declaración sslogic. La sintaxis sslogic gestionará los cálculos de forma independiente, sin requerir indicaciones sintácticas adicionales.
Ejemplo:
- Lo siguiente mostrará una imagen de un árbol de Navidad si el mes es diciembre:
<!--@sslogic(month(now())=12)--> <img src="images/xmasstree.jpg" alt="" /> <!--@end-->
- Anteponer el signo de exclamación al signo igual para probar No Igual
- Lo siguiente mostrará un mensaje para todas las provincias excepto Ontario:
<!--@sslogic("@province@"!="Ontario")--> Está fuera de Ontario <!--@end-->
Lógica Else
- Frecuentemente, es necesario mostrar uno de dos textos: un texto cuando se cumple una condición y otro cuando no se cumple. Esto puede lograrse mediante el uso de un operador "else".
- El siguiente código de ejemplo mostrará un mensaje si un usuario es hombre y otro si es mujer:
<!--@sslogic(@age@>=18)--> La persona es adulta. <!--@else--> La persona es menor de edad. <!--@end-->
- Lo siguiente mostrará dos casillas de verificación. Si el género es masculino, la primera casilla (Masculino) estará seleccionada. Si el género es femenino, la segunda casilla estará seleccionada:
<!--@sslogic(@parent.owner.age@>=18)--> <input checked="checked" type="checkbox" /> Adulto <input type="checkbox" /> Menor <!--@else--> <input type="checkbox" /> Adulto <input checked="checked" type="checkbox" /> Menor <!--@end-->
Múltiples Opciones (sintaxis "else if"):
Se pueden utilizar múltiples operadores "else if" si hay más de dos opciones:
<!--@sslogic(condición 1)-->aaa <!--@else if(condición 2)-->bbb <!--@else if(condición 3)-->ccc <!--@else-->ddd <!--@end--></nowiki></nowiki></nowiki>
Ejemplo:
<!--@sslogic("@possibility@"="Yes")--> Esto ocurrirá con certeza. <!--@else if("@possibility@"="No")--> Esto no está ocurriendo. <!--@else if("@possibility@"="Maybe")--> Esto puede o no ocurrir. <!--@else--> Nadie sabe qué sucederá. <!--@end-->
Múltiples Condiciones
- Se permite incluir más de una condición:
<!--@sslogic('@year@'='2008' AND ('@month@'='1' OR '@month@'='2'))--> Esto solo se muestra si el año es 2008 y el mes es enero o febrero. <!--@end-->
Campos que almacenan comillas simples o dobles
- SSlogic puede utilizarse para mostrar campos que pueden contener comillas simples o dobles.
- Se emplea la función escape[] para lograr esto:
<!--@sslogic('escape["23456$]'!='')-->
<!--@sslogic('escape[@Field Name@]'!='')-->
- NOTA: La función debe estar entrecomillada con comillas simples.
Uso de Listas de Objetos
- Las Listas de Objetos también pueden emplearse en SSlogic.
<!--@sslogic("[#(?object=contact::criteria=rolename='Supervisor'::groupfunction=count)~userid~#]">0)--> Hay al menos un Supervisor <!--@else--> No hay Supervisores <!--@end-->
Uso de SSattach
- SSlogic puede emplearse para determinar qué archivo PDF se adjunta a la Vista de Página Web usando ssattach
- El siguiente ejemplo adjuntará myfilefooter.pdf si el Tipo/Plantilla es Contrato, y myotherfilefooter.pdf si no:
<!--@sslogic("@type@"="Contract")--> <!--@ssattach(after;/files/1234/123/myfilefooter.pdf)--> <!--@else--> <!--@ssattach(after;/files/1234/123/myotherfilefooter.pdf )--> <!--@end-->
Nota: ssattach puede usarse sin sslogic si desea que el mismo archivo PDF se adjunte a la Vista de Página Web en todas las circunstancias.
Notas
- SSlogic puede emplearse solo en correos electrónicos de flujo de trabajo en Nivel 1.
-
En general, se deben utilizar comillas dobles (") para encerrar variables en lugar de comillas simples ('). Si el contenido incluye un apóstrofe (equivalente a una comilla simple), puede interrumpir el procesamiento. Las comillas dobles se usan con menos frecuencia como contenido. Puede ser recomendable agregar un evento onchange al campo de origen para evitar la entrada de comillas dobles.
SsParseNum()
Para convertir un número de una cadena formateada (que contiene símbolos como "$" o "%") a un número usando JavaScript; puede usar una función llamada ssParseNum.
ssParseNum(value, emptyok );
Donde:
Parámetro | Descripción |
---|---|
value | Requerido. Es el valor a convertir a número (es decir: $5,000.00 y 5,000% se convertirán a 5000) |
emptyok |
Opcional. Es un valor verdadero/falso
|
Ejemplos
ssParseNum($5,000.50);
Devolverá: 5000.5
Si desea mostrar una proporción de dos campos configurados con formato de moneda, debe convertir los valores a números usando ssParseNum:
ssParseNum([field1])/ssParseNum([field2])
Requisitos
Esta función es parte de la biblioteca sstools.js y debe agregarse a campos personalizados de Script de Navegador o en páginas de plantilla, páginas de registro, etc. usando la siguiente sintaxis:
<SCRIPT type="text/javascript" language="javascript" src="/sstools.js"></SCRIPT>
Al Usar "Mostrar Formato de Moneda en Modo Edición"
Al usar la configuración "Mostrar Formato de Moneda en Modo Edición" para campos personalizados, se debe usar la siguiente sintaxis:
ssParseNumFromCurrency(value,getLocalestrByCurrency(code),1,emptyok);
(getLocalestrByCurrency obtendrá la configuración regional "predeterminada" del código de moneda, por ejemplo, CAD resultará en en-CA, NO fr-CA)
O
ssParseNumFromCurrency(value,locale,1,emptyok);
(si conoce la configuración regional de la moneda formateada, por ejemplo, da-DK o fr-FR o fr-CA, etc.)
Donde:
Parámetro | Descripción |
---|---|
value | Requerido. Es el valor a convertir a número (es decir: $5,000.00 y 5,000 se convertirán a 5000) |
emptyok |
Opcional. Es un valor verdadero/falso
|
code | Requerido. El código de moneda de tres letras definido por ISO 4217. Ejemplo: JPY para Yen japonés. |
Ejemplos:
ssParseNumFromCurrency([YER Total revenue],getLocalestrByCurrency('CAD'),1,true) - ssParseNumFromCurrency([YER Total expenses],getLocalestrByCurrency('CAD'),1,true)
o
-
ssParseNumFromCurrency([YER Total revenue],'fr-CA',1,true) - ssParseNumFromCurrency([YER Total expenses],'fr-CA',1,true)
SsEncrypt
Las funciones ssEncrypt y ssEncrypt2 se utilizan para la generación dinámica de tokens encriptados, que facilitan la creación de URLs para acceder a diversas entidades dentro de SmartSimple.
Los tokens se generan mediante dos metodologías de encriptación distintas. Por lo tanto, se emplea ssEncrypt o ssEncrypt2 según la entidad específica involucrada:
Token de Página de Plantilla de Nivel 1
<ssEncrypt>typeid,rootcompanyid</ssEncrypt>
Token de Página de Plantilla de Nivel 2
<ssEncrypt>typeid,appid,rootcompanyid</ssEncrypt>
Al encriptar parámetros en una plantilla de Nivel 2 habilitada para internet (ubicada en la URL /ex/ex_Evtpage.jsp), es recomendable utilizar ssEncrypt2.
- En lugar de usar 'eventid' como parámetro, utilice 'codedid'
- En lugar de usar 'parentids' como parámetro, utilice 'enparentids'
Sin encriptar:
https://alias.smartsimple.com/ex/ex_Evtpage.jsp?token=Gw4NRhwGZVhdQhNRXxdTQlRVbFI%3D&parentids=@parent.opportunityid@&eventid=@eventid@
Encriptado:
https://alias.smartsimple.com/ex/ex_Evtpage.jsp?token=Gw4NRhwGZVhdQhNRXxdTQlRVbFI%3D&enparentids=<ssEncrypt2>@opportunityid@</ssEncrypt2>&codedid=<ssEncrypt2>@eventid@</ssEncrypt2>
Token de Vista de Página Web
<ssEncrypt2>objectid</ssEncrypt2>
Por ejemplo, para acceder a la Vista de Página Web con ID de campo personalizado 123456 asociado a un contacto, se debe emplear la siguiente sintaxis:
<input type=button class=Button value="Abrir" onclick="_openpageview('123456','<ssEncrypt2>@userid@</ssEncrypt2>',1)" >
Nota: Si tiene Encriptación de Parámetros URL habilitada, el ID del campo personalizado también debe encriptarse usando ssEncrypt3. Si el campo personalizado 654321 está en un Nivel 1:
<input type=button class=Button value="Abrir" onclick="_openpageview('<ssEncrypt3>654321</ssEncrypt3>','<ssEncrypt2>@opportunityid@</ssEncrypt2>',1)" >
Intersección de Rol de Contacto (Nivel 1)
<ssEncrypt2>oprid</ssEncrypt2>
Ejemplo (campo personalizado ubicado en el rol UTA de Nivel 1):
<input type=button class="Button" onclick="javascript:openRoleFields('<ssEncrypt2>@oprid@</ssEncrypt2>',@roleid@)" value="Mi Voto"/> <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>
Token de Transacción
<ssEncrypt>userid,typeid</ssEncrypt>
ssGet()
La variable ssGet se emplea para extraer información de varias bases de datos, incluyendo:
- La base de datos OFAC (Oficina de Control de Activos Extranjeros)
- Proveedores de terceros para integración de listas de vigilancia
- Datos del censo de EE.UU.
La sintaxis para la variable ssGet varía según la base de datos de la que se obtenga la información.
Configuración - Oficina de Control de Activos Extranjeros (OFAC)
Se pueden realizar verificaciones bajo demanda contra la base de datos en línea de OFAC dentro de SmartSimple. Por ejemplo, en un perfil de organización, se puede configurar un Campo de Vista de Página Web para mostrar los resultados de la siguiente verificación:
En la ilustración anterior, la verificación OFAC ha devuelto un único resultado con coincidencia del 100% para el nombre de la empresa, sin resultados para los contactos asociados. La sintaxis para configurar la verificación OFAC es la siguiente:
@ssGet(OFAC,entity;;firstname;;lastname;;search options;;roleslist;;meta template;;line template)@
Configuración Explicada - Oficina de Control de Activos Extranjeros (OFAC)
Configuración | Descripción |
Entidad | acepta "people" (personas), "company" (empresa) o "all" (todo) |
nombre | nombre de pila de una persona o nombre de la empresa |
apellido | apellido de una persona (se ignorará si la entidad es "company" o "all") |
opciones de búsqueda |
acepta "1", "2" o "3"
|
lista de roles | se aplica si "search options" está configurado en "2" o "3". Debe tener el formato de IDs de rol delimitados por comas o nombres de rol (pero no IDs mezclados con nombres). |
plantilla meta |
Plantilla para cómo se devolverá el "encabezado" de los resultados. Se usará la plantilla predeterminada si se deja vacío. Las variables que se pueden usar incluyen:
Ejemplo: "Tipo de búsqueda: [[entity]], Búsqueda de: [[name]], Registros devueltos: [[recordcount]], Fecha: [[now]]" |
plantilla de línea |
Plantilla para cómo se devolverá el "cuerpo" de los resultados. Se usará la plantilla predeterminada si se deja vacío. Las variables que se pueden usar incluyen:
|
Para realizar una verificación OFAC ad hoc en un registro de organización específico, debe crearse un Campo de Vista de Página Web dentro de los campos personalizados de Organización. El contenido del Campo de Vista de Página Web puede configurarse de manera similar al ejemplo ilustrado a continuación:
-
Al utilizar un Campo de Vista de Página Web, tiene la opción de 'Habilitar Guardar en Servidor' dentro de la configuración del campo. Esta función le permite definir un campo de carga en el perfil de la organización donde se guardará la copia PDF almacenada de los resultados OFAC al activarse.
Configuración - Escaneo de Lista de Vigilancia
SmartSimple, en colaboración con nuestros proveedores de Listas de Vigilancia (CSI Web o Lexis Nexis Bridger), puede proporcionar acceso a listas de servicios de terceros adicionales más allá de la lista OFAC. Al utilizar estos servicios, debe establecerse un acuerdo contractual con uno de los dos proveedores integrados. Las credenciales de cuenta recibidas se utilizarán dentro de su instancia de SmartSimple para facilitar la integración.
En la Configuración Global, bajo la pestaña Integraciones, encontrará la Configuración de Lista de Vigilancia.
La Configuración de Lista de Vigilancia permite ingresar su ID de facturación y contraseña para el servicio de terceros que se utiliza.
Al utilizar CSI Web, hay configuraciones para definir la(s) lista(s) de vigilancia contra la(s) que desea buscar, así como el umbral de escaneo, que dicta que solo se mostrarán resultados que coincidan o superen el umbral de porcentaje de coincidencia.La lista de servicios de terceros compatibles con CSI Web incluye:
- Oficina de Industria y Seguridad de EE.UU.
- Departamento de Estado - Oficina de Seguridad Internacional y No Proliferación
- Departamento de Estado - Lista de Partes Suspendidas de Controles de Comercio de Defensa
- Organización Internacional de Policía Criminal (INTERPOL)
- Personas Políticamente Expuestas, Oficiales Extranjeros de la CIA
- Oficina del Inspector General
- Sistema de Lista de Partes Excluidas proporcionado por la Administración de Servicios Generales (GSA)
- Red de Control de Delitos Financieros
- Negocio de Servicios Monetarios FinCEN
- Empresas No Elegibles del Banco Mundial
- Lista de Exclusión de Terroristas
- Fugitivos Más Buscados del FBI
Al utilizar Lexis Nexis Bridger, las configuraciones para los servicios de lista de vigilancia incluidos en cada escaneo, junto con las configuraciones de umbral, se gestionarán dentro de su cuenta de Lexis Nexis y no dentro de la instancia de SmartSimple.
Devolución de Información desde Lista de Vigilancia
La sintaxis para configurar la verificación de Lista de Vigilancia es la siguiente:
@ssGet(ServiceName,entity;;firstname;;lastname;;search options;;roleslist;;meta template;;line template;;atributo de búsqueda adicional)@
El ServiceName depende del servicio de terceros que esté utilizando:
- CSI Web: WatchList
- Lexis Nexis: LexisNexis
-
Configuración - Base de Datos en Línea del Censo de EE.UU.
@ssGet(FFD,FIPS;;@address@ @city@ @state@)@
@ssGet(FFD,Profile;;year;;Address or FIPS code;;level;;[[template]])@
-
ssURL()
Introducida para beneficio del personal interno y socios, hemos implementado una sintaxis que resuelve dinámicamente URLs para varios objetos y acciones del sistema. Esta mejora permite a los equipos de configuración referenciar objetos del sistema utilizando variables, optimizando así el proceso de configuración al duplicar nuevos sistemas. Anteriormente, los equipos de configuración debían modificar manualmente URLs debido a atributos únicos como IDs que varían en sistemas clonados. Con la introducción de esta nueva sintaxis, los enlaces a activos como páginas de inicio de sesión y registro, gráficos de informes, botones de envío y secciones del portal se dirigirán automáticamente al activo del sistema apropiado después de la clonación, eliminando la necesidad de ajustes manuales.
Sintaxis
El formato general de la sintaxis es el siguiente:
@ssurl(objecttype,action,identifier)@
- El "objecttype" se refiere al tipo de objeto al que se hace referencia, por ejemplo, "Signup" para una página de registro.
- La "action" se refiere a la operación que se realiza o se accede, como “View” o "CreateLevelOne".
- El "identifier" denota el nombre del objeto al que se hace referencia, por ejemplo, el nombre asignado a una página de registro o un autoloader. En casos donde existan múltiples identificadores, sepárelos usando doble punto y coma ( ;; ) como delimitador. Es importante que los equipos de configuración aseguren que todos los objetos tengan un identificador único (nombre); si se crean dos autoloaders con nombres idénticos, el sistema solo devolverá el autoloader con el ID más bajo.
Ejemplos de Uso
Consulte la tabla a continuación para la sintaxis variable soportada.
Descripción | objecttype |
action |
identifier |
Ejemplos con Resultados Resueltos |
---|---|---|---|---|
Página de Registro | signup | view | Nombre de Página de Registro |
Ejemplo de Página de Registro de Usuario: Resultado: /s_signup.jsp?token=XVtQC1oGZlBfRxddXxdSQUlSZ1R9Ew%3D%3D
Resultado: /s_csignup.jsp?token=XVtQHUUGZV1YShBFQhdQXlZSZVxy
Resultado: /s_csignup.jsp?token=XVtQHUUGbFxRQhFaXxdSQUlSZ1R9HQ%3D%3D&ptoken=XVtQC1oGZlBeQBNZXxdSQUlTYFZzEg%3D%3D Ejemplo de Página de Usuarios Múltiples + Organización: Resultado: /s_csignup.jsp?token=XVtQHUUGbFxcRhRRXxdSQUlSZ1R9Eg%3D%3D |
UTA - Vista Principal de Lista | uta | listview | Nombre UTA |
Resultado: /iface/uta/uta_list.jsp?appid=102161 |
UTA - Crear Nivel Uno | uta | createlevelone | Nombre UTA |
Resultado: /Apps/app_editopportunity.jsp?appid=102161&opportunityid=0 |
UTA - Página de Plantilla | uta | templatepage | Nombre UTA, Nombre Tipo |
Resultado: /ex/ex_Apppage.jsp?token=HwwPRhMGZVla |
UTA - Cuadrante de Impacto | uta | impactquadrant | Nombre UTA, Nombre Cuadrante |
Resultado: /Apps/db/db_impact.jsp?impactid=@Hw0ERBkfbV5bQRRQRh8~ |
Informe | report | view | Nombre del Informe |
Resultado: /userreport/ur_openreport.jsp?reportid=44372 |
Gráfico de Informe | reportchart | view | Nombre del Informe, Nombre del Gráfico |
Ejemplo de Gráfico del Lado del Cliente: Resultado: /ex/ex_highchart.jsp?enc=1&chartid=H3ZfFAVpLgcxAVQ8GFAMERALMTY1QRYeH2JdUEJB&reportid=f1oJDE4bexInFm8TRRYqIxEmPA8rbTAKH2dZUkVG&rootcompany=GGZzFn0FZhk8JRocHGdIBBI7EzUSYAcDH2JcUg~~
Resultado: /servlet/wChart?width=300&height=200&codedid=YnoRF35kEjwDHm0DMUQMNQ0kZwcdHTgRH2JdUEJC |
Tablero de Informe | dashboard | view | Nombre del Tablero |
Resultado: /userreport/ur_viewdb.jsp?dashbid=2348 |
Carpeta Inteligente (Vista) | smartfolder | view | Nombre de Carpeta Inteligente |
Resultado: /s_editresource.jsp?display=1&resourceid=68826 |
Carpeta Inteligente - Vista (Habilitada para Internet) | smartfolder | viewinet | Nombre de Carpeta Inteligente |
Resultado: /files/113/68827/169542folderinet/ |
Autocargador - Dropbox | autoloader | dropbox | Nombre del Autocargador |
Resultado: /Archive/al_upload.jsp?loaderid=BEUFe2sDA1d7aV1cQUYBRWUDdgVhe2tRCwUDBg~~ |
AI Insight | aiinsight | view | Nombre |
Resultado: /AI/ai_workingwithai.jsp?token=%40HwwMTxwbeFhFQhFFQRxZQVVTZFV1G3BhHQ~~ |