Ingebouwde functies

De informatie op deze helppagina is zowel van toepassing op CXone Studio als op Desktop Studio.

Studio heeft ingebouwde functies die u kunt gebruiken in uw scripts. Sommige van de ingebouwde functies zijn beschikbaar in de automatische-aanvullijst die verschijnt wanneer u in het venster Snippet editor tikt. Er zijn andere ingebouwde functies die niet beschikbaar zijn in deze lijst, maar u kunt ze nog steeds gebruiken. Gedetailleerde informatie over alle beschikbare ingebouwde functies is beschikbaar op de tweede helft van deze pagina.

Deze pagina biedt ook lijsten van de ingebouwde functies die zijn gegroepeerd in categorieën. Dit maakt het gemakkelijker om een functie te zoeken wanneer u weet met welk type gegevens u werkt en wat u wilt bereiken, maar niet de functienaam. U kunt lijsten van functies weergeven waarmee u kunt:

Er is ook een lijst met andere functies die niet in een categorie passen.

U kunt meer leren over het gebruik van functies in Studio, met inbegrip van uw eigen aangepaste functies, op de Helppagina Functies.

Deze pagina biedt geen informatie over de ingebouwde functies voor gebruik met RestProxy, de service die u kunt gebruiken om uw scripts te verbinden met RESTful API's. Meer informatie over deze functies vindt u op de helppagina RestProxy.

Probeer het

Download het script Functievoorbeelden en importeer deze in Studio. De voorbeelden van deze helppagina zijn beschikbaar in de Snippet-acties in het voorbeeldscript. U kunt het Snippet editor venster openen en de debugger uitvoeren om te zien hoe elk voorbeeld werkt.

Functies die moeten worden gebruikt met datums en tijden

Gebruik de volgende functies met datums en tijden in uw scripts. Studio ondersteunt 24-uurs tijdnotatie, niet 12-uurs tijdnotatie. Houd hier rekening mee wanneer u in scripts met tijd werkt.

Een OLE-automatiseringsdatum is een datum die is geschreven als een zwevend puntnummer. Het gedeelte vóór de komma is het aantal dagen sinds middernacht 30 december 1899. Het gedeelte achter de komma is de tijd op die dag, gedeeld door 24. Bijvoorbeeld: 31 december 1899 om 6:00 uur 's morgens levert de waarde 1,25 op.

Functie

Beschrijving

asdate() Converteert de inhoud van een variabele naar een datum-/tijdstring met de standaard datumnotatie.
asdatedow() Retourneert de dag van de week als een getal van 0 tot 6 waarbij 0 de zondag is.
asdatetime() Converteert de waarde van de variabele naar een datum-/tijdstring met de opgegeven datum-/tijdnotatie.
asgmt() en asutc() Converteert de inhoud van een variabele naar een datum-/tijdstring die is geconverteerd naar GMT of UTC.
asisodatetime()

Converteert de waarde van een variabele naar een ISO 8601 datum-/tijdnotatie: jjj-MM-ddTHH:mm:ss.SSSXXX.

astime() Converteert de inhoud van een variabele naar een tijdwaarde.
dateadd(date, value) Retourneert een nieuwe datum op basis date plus value.
datebuild(year, month, day) Retourneert een string van de datum/tijd met opgegeven jaar, maand en dag.
datediff(unit,date1, date2) Retourneert het verschil tussen twee datums.
datefmt(format) Converteert de inhoud van een variabele naar een datum-/tijdstring met de opgegeven format.
datepart(unit)

 

Retourneert een gedeelte van een datum of tijd volgens de opgegeven unit.
datetimebuild(year, month, day, hour, minute, second) Retourneert een datum/tijd-string op de opgegeven Year, Month, Day, Hour, Minute, Second.
dow() Retourneert de huidige dag van de week als een getal van 0 tot 6 waarbij 0 de zondag is.

Functies die moeten worden gebruikt met nummers

Gebruik de volgende functies met variabelen die numerieke waarden bevatten. Andere functies die u kunt gebruiken met nummers zijn de functies voor wiskundige berekeningen.

Functie

Beschrijving

ceil(value

Retourneert het kleinste gehele getal groter dan of gelijk aan de opgegeven value.

floor(value

R etourneert het grootste gehele getal dat kleiner is dan of gelijk is aan de opgegeven value.

format(format) Retourneert een string met de numerieke tekens, opgemaakt met de opgegeven format.
isdigit() Evalueert de inhoud van een variabele om te bepalen of het eerste teken numeriek (0-9) is.
isnumeric() Evalueert de inhoud van een variabele om te bepalen of alle tekens alfabetisch (A-Z of a-z) zijn.
max(value1, value2) en min(value1, value2) Retourneert de grotere of kleinere van de twee opgegeven waarden.
random() Retourneert een willekeurig, niet-negatief geheel getal.
round(value) Rondt de opgegeven value af naar het dichtstbijzijnde gehele getal.

Functies die moeten worden gebruikt met letters

Gebruik de volgende functies met variabelen die letters bevatten:

Functie

Beschrijving

isalpha() Evalueert de inhoud van een variabele om te bepalen of alle tekens alfabetisch (A-Z of a-z) zijn.
isletter()

Evalueert de inhoud van een variabele om te bepalen of het eerste teken alfabetisch (a-z of A-Z) is.

islower() en isupper() Evalueert de inhoud van een variabele om te bepalen of het eerste teken een kleine letter (a-z) of een hoofdletter (A-Z) is.
lower() en upper()

Converteert alle lettertekens in de waarde naar kleine letters (a-z) of hoofdletters (A-Z).

Functies voor het uitvoeren van berekeningen

Gebruik deze functies voor het uitvoeren van wiskundige berekeningen. Deze functies zijn niet beschikbaar in de automatische-aanvullijst die verschijnt wanneer u een SNIPPET-actie gebruikt, maar ze werken wel als u ze handmatig invoert.

Functie

Beschrijving

abs(value)

Retourneert de absolute waarde van de opgegeven value.

acos(value)

Retourneert de hoek in radialen waarvan de cosinus de opgegeven value is.

asin(value)

Retourneert de hoek in radialen waarvan de sinus de opgegeven value is.

atan(value)

Retourneert de hoek in radialen waarvan de tangens de opgegeven value is.

atan2(x, y)

Retourneert de hoek in radialen waarvan de tangens het quotiënt is van de twee opgegeven getallen (x, y).

cos(value)

Retourneert de cosinus van de opgegeven value. De value moet in radialen worden opgegeven.

cosh(value)

Retourneert de hyperbolische cosinus van de opgegeven value. De value moet in radialen worden opgegeven.

exp(value)

Retourneert het getal dat is verheven tot de macht die is opgegeven in value.

ln(value)

Retourneert de natuurlijke logaritme (grondgetal e) van de value. De value wordt opgegeven als een getal in het 10-tallig stelsel.

log10(value)

Retourneert de logaritme (grondgetal 10) van de opgegeven value.

log2(value, base)

Retourneert de logaritme (grondgetal 2) van de opgegeven value. De value wordt opgegeven als een getal in het 10-tallig stelsel.

logn(value, base)

Retourneert de logaritme van de opgegeven value in de opgegeven base. Beide parameters worden gespecificeerd als getallen in het 10-tallig stelsel.

round(value)

Rondt de opgegeven value af naar het dichtstbijzijnde gehele getal.

sgn(value)

Retourneert een waarde die het teken van de opgegeven value aangeeft. Retourneert -1 als value kleine is dan nul, 0 als value gelijk is aan nul en 1 als value groter is dan nul.

sin(value)

Retourneert de sinus van de opgegeven value. De value moet in radialen worden opgegeven.

sinh(value)

Retourneert de hyperbolische sinus van de opgegeven value. De value moet in radialen worden opgegeven.

sqrt(value)

Retourneert de vierkantswortel van de opgegeven value.

tan(value)

Retourneert de tangens van de opgegeven value. De value moet in radialen worden opgegeven.

tanh(value)

Retourneert de hyperbolische tangens van de opgegeven value. De value moet in radialen worden opgegeven.

trunc(value)

Berekent het gehele deel van de opgegeven value. trunc() rondt de value af naar het dichtstbijzijnde gehele getal in de richting van nul.

Functies voor het wijzigen van waarden

Gebruik de volgende functies wanneer u iets wilt wijzigen over de waarde van een variabele wanner de waarde wordt toegewezen aan een andere variabele.

Naast de functies in deze tabel, kunt u met veel van de functies voor datums en tijden de waarden wijzigen. U kunt bijvoorbeeld een datumwaarde converteren naar een andere datumnotatie.

Functie

Beschrijving

append(text) Voegt de inhoud van de eerste variabele toe aan een tweede variabele.
asjson() en asxml() Converteert de inhoud van een variabele naar JSON of XML.
dateadd(date, value)

Retourneert een nieuwe datum op basis date plus value.

datefmt(format)

Converteert de inhoud van een variabele naar een datum-/tijdstring met de opgegeven format.

format(format) Retourneert een string met de numerieke tekens, opgemaakt met de opgegeven format.
lower() en upper()

Converteert alle lettertekens in de waarde naar kleine letters (a-z) of hoofdletters (A-Z).

replace(old, new) Vervangt overal in de string de waarde van old door new.
split(delimiter) Converteert de inhoud van de variabele naar een door verticale strepen gescheiden string die kan worden behandeld als een array. Vervangt het bestaande opgegeven delimiter door een verticale streep.
trim() , ltrim() en rtrim() Retourneert een string waaruit alle witruimtetekens zijn verwijderd. U kunt alle witruimtetekens laten verwijderen, of alleen de witruimtetekens aan het begin of einde.
urlencode() en urldecode() Codeert of decodeert een URL volgens de internetstandaard voor URL-codering.

Functies voor het vaststellen wat er in een waarde zit

Gebruik deze functies om te zien wat een variabele bevat:

Functie

Beschrijving

contains(value) Evalueert een variabele voor de opgegeven value.
count() Retourneert het aantal elementen in een array of object.
index(indexValue) Retourneert het matrixelement van de inhoud van de variabele volgens de opgegeven indexValue.
indexof(text) Retourneert de tekenpositie van de opgegeven text binnen de inhoud van een variabele.
isalpha () Evalueert de inhoud van een variabele om te bepalen of alle tekens alfabetisch (A-Z of a-z) zijn.
isdigit() Evalueert de inhoud van een variabele om te bepalen of het eerste teken numeriek (0-9) is.
isletter()

Evalueert de inhoud van een variabele om te bepalen of alle tekens alfabetisch (A-Z of a-z) zijn.

isnumeric()

Evalueert de inhoud van een variabele om te bepalen of alle tekens numeriek (0-9) zijn.

isupper() en islower() Evalueert de inhoud van een variabele om te bepalen of het eerste teken een kleine letter (a-z) of een hoofdletter (A-Z) is.
length() Retourneert het aantal tekens in de waarde van de variabele.
left() en right() Retourneert de tekens uiterst links of rechts van de variabele inhoud, als de tekens cijfers zijn. Het aantal geretourneerde tekens is gebaseerd op de opgegeven count.
size()

Retourneert het aantal elementen binnen een array.

Functies voor het extraheren van een deel van een waarde

Gebruik deze functies als u een deel van een waarde van een variabele wilt uittrekken voor gebruik in een andere variabele:

Functie

Beschrijving

datepart(unit)

Retourneert een gedeelte van een datum of tijd volgens de opgegeven unit.

index(indexValue) Retourneert het matrixelement van de inhoud van de variabele volgens de opgegeven indexValue.
left(count) en right(count) Retourneert de tekens uiterst links of rechts van de variabele inhoud, als de tekens cijfers zijn. Het aantal geretourneerde tekens is gebaseerd op de opgegeven count.
mid(start, length) Retourneert de tekens van start tot en met start+length.
substr(start, end) Retourneert de tekens van start tot en met end.

Functies die moeten worden gebruikt met matrices

De volgende functies werken met matrices.

Functie

Beschrijving

count()

Retourneert het aantal elementen in een array of object.

index(indexValue)

Retourneert het matrixelement van de inhoud van de variabele volgens de opgegeven indexValue.

indexof(text)

Retourneert de tekenpositie van de opgegeven text binnen de inhoud van een variabele.

size()

Retourneert het aantal elementen binnen een array.

split(delimiter)

Converteert de inhoud van de variabele naar een door verticale strepen gescheiden string die kan worden behandeld als een array. Vervangt het bestaande opgegeven delimiter door een verticale streep.

Overige

Functie

Beschrijving

char(code)

Retourneert een teken van de ASCII code-waarde waarmee een script programmatisch speciale tekens kan toevoegen aan een string.

copy(objectName)

Maakt een kopie van de gegevens die het dynamische gegevensobject objectName bevat. De kopie is gescheiden van het origineel. U kunt dus een waarde in de ene versie wijzigen en toch dezelfde waarde in de andere versie niet beïnvloeden.

iif(compare, trueval, falseval)

Inline-if voor nummers Evalueert compare, retourneert vervolgens trueval of falseval, afhankelijk van de resultaten van de evaluatie.

iifs(compare, trueval, falseval)

String inline-if. Evalueert compare, retourneert vervolgens trueval of falseval, afhankelijk van de resultaten van de evaluatie.

isnull()

Geeft aan of een dynamisch gegevensobject of een eigenschap van een object null is (dat wil zeggen: niet-gedefinieerd of 0).

savetodb(1or0) Hier kunt u de waarde van een variabele opslaan naar de database.
screenpop()

Retourneert een waarde die aangeeft of de ScreenPop-vla is ingesteld op de variabele.

setscreenpop(1or0)

Dit staat u toe een waarde van een variabele te hebben die wordt gebruikt in de schermpopupGesloten Een configureerbaar popup-venster met informatie over het contact. De popup verschijnt op het scherm van de agent na een bepaalde gebeurtenis, bijvoorbeeld wanneer de agent verbinding krijgt., als voor de huidige ACD skillGesloten Skills worden gebruikt om de aanlevering van interacties te automatiseren op basis van de vaardigheden, capaciteiten en kennis van de agent de optie Schermpopups gebruiken is ingeschakeld. Deze functie werkt niet met digitale scripts. Als u schermpopups met digitale scripts wilt gebruiken, gebruikt u de POPURL -actie of de RUNAPP -actie (helppagina's in CXone StudioPOPURL -actie of de RUNAPP -actie)

setscreenpop() is geen echte functie. Het is een eigenschap van variabelen in Studio die u kunt instellen wanneer u werkt met schermpopupsGesloten Een configureerbaar popup-venster met informatie over het contact. De popup verschijnt op het scherm van de agent na een bepaalde gebeurtenis, bijvoorbeeld wanneer de agent verbinding krijgt.. U kunt deze toepassing op variabelen wanneer u werkt in snippets. U kunt deze ook instellen wanneer u de Assign-actie gebruikt voor het maken van variabelen.

Voeg setscreenpop() toe aan een variabele met 1 als het argument om de waarde van een variabele door te geven naar de schermpopup.

ASSIGN val1 = "name"
ASSIGN popthis = val1.setscreenpop(1)

 

Alle beschikbare functies

Dit gedeelte biedt gedetailleerde informatie over het gebruik van elke ingebouwde functie. Tenzij anders opgegeven, kunt u deze functies overal waar u een variabele of uitdrukking zou gebruiken oproepen.

abs(value)

Retourneert de absolute waarde van de opgegeven value.

ASSIGN abVal = "{abs(-42)}"

Het resultaat van het voorbeeld is :abVal = 42

acos(value)

Retourneert de hoek in radialen waarvan de cosinus de opgegeven value is.

ASSIGN angleRad3 = "{acos(cosNum)}"

Het resultaat van het voorbeeld is :angleRad3 = 0.394791119699762

append(string)

Voegt de string toe aan het einde van de bestaande inhoud binnen de variabele. Deze functie werkt alleen binnen een Snippet- of een ASSIGN-actie.

IF TEST = 1
{
  ASSIGN originalString = "My name"
  ASSIGN originalString2 = "Whose pajamas are these? "
  ASSIGN appendWithEscape = $"They're the cat's pajamas."			
}
originalString.append(" is Inigo Montoya.")
originalString2.append(AppendWithEscape)

Het resultaten van het voorbeeld zijn::

  • originalString = My name is Inigo Montoya.
  • originalString2 = Whose pajamas are these? They're the cat's pajamas.

asdate()

Converteert de inhoud van een variabele naar een datum-/tijdstring met de standaard datumnotatie.

Indien gebruikt als een stringexpressie: converteert de inhoud van de variabele naar een datum/-tijdstring.

Indien gebruikt als een numerieke expressie: converteert de inhoud van de variabele naar een datum-tijd volgens de OLE-automatisering door de inhoud van de string te parseren. De stringwaarde moet overeenkomen met een van de standaard datumnotaties van Windows, zoals mm/dd/yyyy.

IF TEST = 1
{
  ASSIGN myDate = "{date}"
}

//This example converts a date string into its OLE numeric equivalent
ASSIGN numericDate = myDate.asdate()

//This example converts an OLE numeric date to its string equivalent
ASSIGN stringDate = "{numericDate.asdate()}" 

De resultaten van dit voorbeeld zijn afhankelijk van de huidige lokale datum wanneer de functie loopt. Als de huidige lokale datum 07/03/2023 is. De resultaten zijn:

  • numericDate = 45110
  • stringDate = 07/03/2023

asdatedow()

Converteert de inhoud van de variabele naar een datum-tijd volgens de OLE-automatisering door het parseren van de stringinhoud en bepaalt vervolgens de weekdag in de vorm van een getal van 0 tot 6 waarbij 0 staat voor zondag. De stringwaarde moet overeenkomen met een van de Windows standaard datumnotaties zoals MM/dd/yyyy.

IF TEST = 1
{
  ASSIGN MyDate = "07/03/2023"
}
ASSIGN MyDow = MyDate.asdatedow()
SWITCH MyDow
{
  CASE 0   { ASSIGN newToday = "Sunday" }
  CASE 1   { ASSIGN newToday = "Monday" }
  CASE 2   { ASSIGN newToday = "Tuesday" }
  CASE 3   { ASSIGN newToday = "Wednesday" }
  CASE 4   { ASSIGN newToday = "Thursday" }
  CASE 5   { ASSIGN newToday = "Friday" }
  CASE 6   { ASSIGN newToday = "Saturday" }
}

Het resultaten van het voorbeeld zijn:

  • myDow = 1
  • newToday = Monday

asdatetime()

Converteert de waarde van de variabele naar een datum-/tijdstring met de opgegeven datum-/tijdnotatie.

Indien gebruikt als een string: converteert de inhoud van de variabele naar een datum-/tijdstring.

Indien gebruikt als een numerieke waarde: converteert de inhoud van de variabele naar een datum-tijd volgens de OLE-automatisering door de inhoud van de string te parseren. De stringwaarde moet overeenkomen met een van de standaard datum-tijdnotaties van Windows, zoals MM/dd/yyyy HH:mm:ss.

Als u een datum passeert zonder een tijdstip, voegt de functie een tijdstip toe. Dit wordt standaard ingesteld op 12:00 AM.

IF TEST = 1
{
  ASSIGN MyDateTime = "{now}"
  ASSIGN anotherDateTime = "04/03/23 11:34:09 PM"
}
ASSIGN numericDateTime = myDateTime.asdatetime()
ASSIGN numericDateTime2 = anotherDateTime.asdatetime()

ASSIGN stringDateTime = "{numericDateTime.asdatetime()}"
ASSIGN stringDateTime2 = "{numericDateTime2.asdatetime()}"
		

Het resultaten van het voorbeeld zijn::

  • numericDateTime = 45110.3720486111 (wanneer de huidige lokale datum/tijd 7/3/2023 8:55:45 AM is)
  • numericDateTime2 = 45019.9820486111
  • stringDateTime = 7/3/2023 8:55:45 AM
  • stringDateTime2 = 4/3/2023 11:34:09 PM

asgmt() en asutc()

De asgmt()-functie converteert de tijd naar GMT en de asutc()-functie converteert de tijd naar UTC. De notatie van de datum is afhankelijk van de originele inhoud van de variabele.

Indien met een string-expressie: de functies converteren de waarde naar een datum-tijd volgens de OLE-automatisering, omgezet naar GMT of UTC. De variabele moet een geldige stringrepresentatie van een datum/tijd bevatten. De brontijd is gebaseerd op de tenantGesloten Een organisatorische eenheid die wordt gebruikt om technische ondersteuning, facturering en globale instellingen voor uw CXone-omgeving te beheren-tijdzone of de tijdzone die is ingesteld via de Timezone -actie (helppagina in CXone StudioTimezone actie).

Indien gebruikt met een numerieke expressie: de functies converteren de waarde naar een datum/-tijdstring, omgezet naar GMT of UTC. Bijvoorbeeld: "Ma, 03 okt 2022 13:35:14 GMT".

Bij gebruik van deze functies mag de tijdnotatie in de variabele het volgende NIET bevatten:

  • Een offset van UTC.
  • Een Z-teken, zoals 2022-03-04 18:54:39.000Z. het opnemen van een Z-teken dat aangeeft dat de tijd een nul-offset heeft ten opzichte van GMT/UTC.

Als een van deze elementen aanwezig is, genereert asgmt() of asutc() een fout bij het converteren van de tijdzone omdat de oorspronkelijke tijdzone wordt gezien als verschillend van de tijdzone van de bedrijfseenheid. Om fouten bij gebruik van de datum- en tijdnotatie ISO 8601 te voorkomen, moet u bovendien een Timezone-actie vóór de Snippet -actie toevoegen en deze configureren voor gebruik van de tijdzone van uw bedrijfseenheid. Hierdoor wordt de tijdzone op scriptniveau ingesteld, zodat het script en uw bedrijfseenheid dezelfde tijdzone hebben.

IF TEST = 1
{
  ASSIGN MyDateTime = #"{now}" 
}

ASSIGN GMTDateTimeNumeric = MyDateTime.asgmt()
ASSIGN GMTDateTimeString = "{GMTDateTimeNumeric.asdatetime()}"

ASSIGN UTCDateTimeNumeric = MyDateTime.asutc()
ASSIGN UTCDateTimeString = "{UTCDateTimeNumeric.asdatetime()}"

asin(value)

Retourneert de hoek in radialen waarvan de sinus de opgegeven value is.

ASSIGN angleRad4 = "{asin(sinNum)}"

Het resultaat van het voorbeeld is : angleRad4 = 0.394791119699762

asisodatetime()

Converteert de waarde van een variabele naar een ISO 8601 datum-/tijdnotatie: jjj-MM-ddTHH:mm:ss.SSSXXX. De uitvoer van deze functie is altijd de ISO datum-/tijdnotatie.

In REST API-oproepen worden ISO-tijdstempels die afwijken van de opgegeven UTC en verschijnen in de respons, worden geconverteerd naar Mountain Time (MT). Als er geen afwijking is opgegeven, wordt de tijdstempel niet geconverteerd.

IF TEST = 1
{
	ASSIGN myDateTime = "{now}"
	ASSIGN anotherDateTime = "04/03/23 11:34:09 PM"
}
ASSIGN numericDateTime = myDateTime.asisodatetime()
ASSIGN numericDateTime2 = anotherDateTime.asisodatetime()
ASSIGN stringDateTime = "{numericDateTime.asisodatetime()}"
ASSIGN stringDateTime2 = "{numericDateTime2.asisodatetime()}"

Het resultaten van het voorbeeld zijn::

  • numericDateTime = 2023-07-03T09:43:06.000Z (wanneer de huidige lokale datum/tijd 7/3/2023 9:43:06 AM is)
  • numericDateTime2 = 2023-04-03T23:34:09.000Z
  • stringDateTime = 2023-07-03T05:43:06.000Z
  • stringDateTime2 = 2023-04-03T19:34:09.000Z

asjson() en asxml()

Converteert een JSON- of XML-object naar een string en wijst deze toe aan een nieuwe variabele. Het volgende voorbeeld gebruikt een dynamisch gegevensobject, maar u kunt deze functies gebruiken met objecten die zijn geretourneerd van een API-oproep of de objecten vanaf virtuele agentbotGesloten Een softwareapplicatie die klantinteracties afhandelt in plaats van een live (menselijke) agent.-acties).

De asjson()-functie converteert alles in het object als een tekenreeks tussen dubbele aanhalingstekens, inclusief numerieke of booleanGesloten Een gegevenstype dat twee mogelijke waarden heeft: Waar en Onwaar. waarden. U kunt dit verantwoorden in uw script als u een correct opgemaakte numerieke of Boolean waarde nodig hebt in uw JSON. Eén oplossing is het gebruik van de replace()-functie. Hierdoor kunt u de dubbele aanhalingstekens in de stringwaarde vervangen door null.

DYNAMIC object1
ASSIGN object1.value1 = "this"
ASSIGN object1.value2 = "that"
DYNAMIC object2				
ASSIGN object2.value1 = "first"
ASSIGN object2.value1 = "last"			

ASSIGN objectjson = "{object1.asjson()}"
ASSIGN objectxml = "{object2.asxml()}"		

Een andere oplossing is het injecteren van plaatshouderstrings die handmatig worden vervangen nadat u het dynamische object hebt geconverteerd in een JSON-string.

ASSIGN integerValue = 1234
ASSIGN trueValue = true
ASSIGN falseValue = false
DYNAMIC object
ASSIGN object.myIntegerValue = "INTEGERVALUE_PLACEHOLDER"
IF trueValue = true
  {
	ASSIGN object.myTrueValue = "TRUE_PLACEHOLDER"
  }
ELSE
  {
	ASSIGN object.myTrueValue = "FALSE_PLACEHOLDER"
  }
IF falseValue = true
  {
	ASSIGN object.myFalseValue = "TRUE_PLACEHOLDER"
  }
ELSE
  {
	ASSIGN object.myFalseValue = "FALSE_PLACEHOLDER"
  }
ASSIGN objectJSON = "{object.asjson()}"

ASSIGN objectJSON = objectJSON.replace("{char(34)}TRUE_PLACEHOLDER{char(34)}","true").replace("{char(34)}FALSE_PLACEHOLDER{char(34)}","false")
ASSIGN objectJSON = objectJSON.replace("{char(34)}INTEGERVALUE_PLACEHOLDER{char(34)}",integerValue)

Best practice: Gebruik de functie asjson() in een Snippet -actieen sla de resulterende JSON op in een stringvariabele. Gebruik deze stringvariabele in de eigenschappen van andere Studio-acties wanneer u de JSON-gegevens wilt doorgeven. Zo verkleint u de kans op validatiefouten bij het opslaan van het script.

Het resultaten van het voorbeeld zijn::

  • objectjson={"value1":"this","value2":"that"}

  • objectxml=<?xml version="1.0" encoding="utf-16" standalone="yes"?><DynamicDataObject><value1>first</value1><value2>last</value2></DynamicDataObject>

astime()

Converteert de inhoud van een variabele naar een tijdwaarde.

Indien gebruikt met een stringwaarde: converteert de inhoud van de variabele naar een datum-tijd volgens de OLE-automatiseringGesloten Een manier om datums en tijden weer te geven als drijvendekommagetallen. Duidt het aantal dagen sinds 30 december 1899 aan.. Bijvoorbeeld, 0.353506944447872.

Indien gebruikt met een numerieke waarde: converteert de inhoud van de variabele naar een tijdstring. De variabele moet een tijdwaarde volgens de OLE-automatisering bevatten. Bijvoorbeeld 8:29:03 AM.

IF TEST = 1
{
  ASSIGN myTime = "{time}"
}

//This example converts a time string into its OLE numeric equivalent
ASSIGN numericTime = myTime.astime()

//This example converts a OLE numeric time to its string equivalent
ASSIGN stringTime = "{numericTime.astime()}" 

De resultaten van dit voorbeeld zijn afhankelijk van de lokale tijd wanneer de functie wordt getest. Als de waarde van time 8:37:42 AM is, zijn de resultaten:

  • numericTime = 0.359513888892252
  • stringTime = 8:37:42 AM

atan(value)

Retourneert de hoek in radialen waarvan de tangens de opgegeven value is.

ASSIGN angleRad = "{atan(0.4166666666666667)}"		

Het resultaat van het voorbeeld is : angleRad=0.394791119699762

atan2(value)

Retourneert de hoek in radialen waarvan de tangens het quotiënt is van de twee opgegeven getallen (x, y).

ASSIGN angleRad2 = "{atan2(5,12)}"

Het resultaat van het voorbeeld is : angleRad2=0.394791119699761

ceil(value) en floor(value)

ceil etourneert het kleinste gehele getal groter dan of gelijk aan de opgegeven value.

floor retourneert het grootste gehele getal dat kleiner is dan of gelijk is aan de opgegeven value.

IF TEST = 1
{
  ASSIGN value = 102.589
}
ASSIGN newValue1 = floor(value)

ASSIGN newValue2 = ceil(value)

Het resultaten van het voorbeeld zijn::

  • newValue1 is 102.
  • newValue1 is 103.

contains(value)

Retourneert een waarde van 1 (true) die een opgegeven value bevat. Als de variabele een array is, worden alle elementen gecontroleerd op de exacte value.

contains() is niet hoofdlettergevoelig.

IF TEST = 1
{
  ASSIGN varString1 = "abc!123"
  ASSIGN varString2 = "8001234567|8881234567|8771234567"
  ASSIGN dnis = 8881234567
  ASSIGN dnis2 = 8887654321
}
ASSIGN stringFoundRes1 = varString1.contains('!') // true
ASSIGN stringFoundRes2 = varString1.contains('D') // false 

ASSIGN DNISFoundRes1 = varString2.contains(dnis) // true
ASSIGN DNISFoundRes2 = varString2.contains(dnis2) // false

Het resultaten van het voorbeeld zijn::

  • stringFoundRes1 is 1 (true).
  • stringFoundRes2 is 0 (false).
  • DNISFoundRes1 is 1 (true).
  • DNISFoundRes2 is 0 (false).

char(code)

Retourneert een teken van de ASCII code-waarde waarmee een script programmatisch speciale tekens kan toevoegen aan een string. U kunt bijvoorbeeld regeleinden, tabs en nieuwe regeltekens toevoegen.

Wees voorzichtig met deze functie. char(0) tot en met char(7) zijn gereserveerd voor intern gebruik en kunnen leiden tot fouten in de scripts.

IF TEST = 1
{
  ASSIGN textToSpeech = "John Doe"
  ASSIGN varWithCommas = "one,two,three,four"
}

ASSIGN character1 = "{char(34)}"
ASSIGN character2 = "{char(44)}"
ASSIGN character3 = "{char(39)}"

ASSIGN marqueeMessage = "Marquee {char(10) char(13)} Message on {char(10) char(13)} different lines."

ASSIGN promptListWithDoubleQuotes = "{char(34)}Prompts\File with space.wav{char(34)} {char(34)}{textToSpeech}{char(34)}"

ASSIGN varWithReplacedCommas = "{varWithCommas.replace(char(44),' ')}"

ASSIGN character4 = "{char(123)}"
ASSIGN character5 = "{char(125)}"
ASSIGN cssWithReplacedBrackets = "a {char(123)}text-decoration: none;{char(125)}"

Het resultaten van het voorbeeld zijn::

  • marqueeMessage = "Marquee

    Message on

    different lines."

  • promptListWithDoubleQuotes = "Prompts\File with space.wav" "John Doe"
  • varWithReplacedCommas = one two three four
  • cssWithReplacedBrackets = a {text-decoration: none;}

copy(objectName)

Maakt een kopie van de gegevens die het dynamische gegevensobject objectName bevat. De kopie is gescheiden van het origineel. U kunt dus een waarde in de ene versie wijzigen en toch dezelfde waarde in de andere versie niet beïnvloeden. Meer informatie over kopiëren van dynamische objecten.

U kunt de copy()-functie gebruiken met subeigenschappen: bijvoorbeeld: currentContact.who = copy(beowulfCharacteristics.name).

DYNAMIC firstObject
DYNAMIC secondObject

secondObject = copy(firstObject)

De copy()-functie gebruikt meer systeembronnen dat wanneer een referentie wordt toegewezen. Dit voert een diepe kopieerbewerking uit door het object te converteren naar een stringrepresentatie en daarna weer terug naar een object. Als het object waarmee u werkt een grote hoeveelheid bevat, kan dit proces de werking van het script beïnvloeden.

cos(waarde)

Retourneert de cosinus van de opgegeven value. De value moet in radialen worden opgegeven.

ASSIGN angleRad = 0.394791119699762 //in radians
ASSIGN cosNum = "{cos(angleRad)}"		

Het resultaat van het voorbeeld is : cosNum=0.923076923076923

cosh(waarde)

Retourneert de hyperbolische cosinus van de opgegeven value. De value moet in radialen worden opgegeven.

 ASSIGN hCosine = "{cosh(angleRad)}"

Het resultaat van het voorbeeld is : hCosine=1.07894746856059

count() en size()

Retourneert het aantal elementen binnen een array. size() werkt alleen met arrays. count() werkt met arrays in objecten.

Als de waarde geen array is en ook niet leeg is, wordt de waarde 1 (true) geretourneerd. Als de waarde leeg is, wordt 0 (false) geretourneerd.

IF TEST = 1
{
  ASSIGN example1 = "Beowulf|Grendel|Hrothgar|Wyrm|Breca|Scyld|Hrethel"
  ASSIGN example2 = "8015551234"
  ASSIGN example3 = ""
  DYNAMIC example4 
  ASSIGN example4[1].name = "Beowulf"
  ASSIGN example4[2].name = "Grendel"
}
ASSIGN ex1Size = example1.size()
ASSIGN ex2Size = example2.size()
ASSIGN ex3Size = example3.size()

ASSIGN ex1Count = example1.count()
ASSIGN ex2Count = example2.count()
ASSIGN ex3Count = example3.count()

ASSIGN ex4Count = count(example4)

Het resultaten van het voorbeeld zijn::

  • exSize en ex1Count zijn 7.
  • ex2Size en ex2Count zijn 1.
  • ex3Size en ex3Count zijn 0.
  • ex4Count is 2.

dateadd(unit, date, value)

Retourneert een nieuwe datum op basis date plus value.. De nieuwe datum wordt geretourneerd als een datum/tijd volgens de OLE-automatiseringGesloten Een manier om datums en tijden weer te geven als drijvendekommagetallen. Duidt het aantal dagen sinds 30 december 1899 aan.. De interpretatie van value wordt bepaald door unit. Als value negatief is, wordt value afgetrokken van date.

De beste praktijk is een geldige datum-/tijdvariabele door te geven, zoals weergeven in het onderstaande voorbeeld, waar de waarde van myDateTime wordt voorafgegaan door een nummerteken ( # ). Dit maakt hiervan een datum/tijd-variabele.

Mogelijke keuzen voor eenheid zijn: year, month, week, day, hour, minute en second.

unit is hoofdlettergevoelig. Plaats unit tussen enkele of dubbele aanhalingstekens of geef een variabele door die unit bevat. Als u een variabele doorgeeft, mag u de variabele niet tussen aanhalingstekens of accolades plaatsen.

Om deze functie te gebruiken in een string, neemt u asdatetime() op, zoals weergegeven in het onderstaande voorbeeld.

IF TEST = 1
{
  ASSIGN myDateTime = #"{now}"
}
//These are examples of adding to a datetime variable:

ASSIGN newDateYearNumeric = dateadd('year', myDateTime, 1) //add a single year
ASSIGN newDateYearString = "{newDateYearNumeric.asdatetime()}"

ASSIGN newDateMonthNumeric = dateadd('month', myDateTime, 1) //add a single month
ASSIGN newDateMonthString = "{newDateMonthNumeric.asdatetime()}"

ASSIGN newDateWeekNumeric = dateadd('week', myDateTime, 1) //add a single week
ASSIGN newDateWeekString = "{newDateWeekNumeric.asdatetime()}"

ASSIGN NewDateDayNumeric = dateadd('day', MyDateTime, 1) //add a single day
ASSIGN NewDateDayString = "{NewDateDayNumeric.asdatetime}"

ASSIGN newDateHourNumeric = dateadd('hour', myDateTime, 1) //add a single hour
ASSIGN newDateHourString = "{newDateHourNumeric.asdatetime()}"

ASSIGN NewDateMinuteNumeric = dateadd('minute', myDateTime, 1) //add a single minute
ASSIGN NewDateMinuteString = "{NewDateMinuteNumeric.asdatetime()}"

ASSIGN newDateSecondNumeric = dateadd('second', myDateTime, 1) //add a single second
ASSIGN newDateSecondString = "{newDateSecondNumeric.asdatetime()}"

//This is an example of subtracting from a date:
ASSIGN oldDateMonthNumeric = dateadd('month', myDateTime, -2) //remove 2 months
ASSIGN oldDateMonthString = "{0ldDateMonthNumeric.asdatetime()}"

Het resultaten van het voorbeeld zijn: als volgt, terwijl u 3 maart 2023 gebruikt in de notatie 3/3/2023 10:42:44 AM als de waarde van now:

newDateYearString = 3/3/2024 10:42:44 AM

newDateMonthString = 4/3/2023 10:42:44 AM

newDateWeekString = 3/10/2023 10:42:44 AM

newDateDayString = 3/4/2023 10:42:44 AM

newDateHourString = 3/3/2023 11:42:44 AM

newDateMinuteString = 3/3/2023 10:43:44 AM

newDateSecondString = 3/3/2023 10:42:45 AM

datebuild(year, month, day)

Retourneert een string van de datum/tijd met de opgegeven Year, Month en Day.

Indien gebruikt in een string: retourneert een numerieke datum, opgemaakt in de standaard datum/tijd-notatie die de tijd bevat. De tijd wordt standaard ingesteld op middernacht. Als u de datum wilt met de namen van maanden en dagen, gebruikt u de functies asdate() of asdatetime(), zoals weergegeven in het onderstaande voorbeeld.

Indien gebruikt in een numerieke expressie: retourneert een datum als een string datum-tijd volgens de OLE-automatiseringGesloten Een manier om datums en tijden weer te geven als drijvendekommagetallen. Duidt het aantal dagen sinds 30 december 1899 aan..

IF TEST = 1
{
  ASSIGN month = "1"
  ASSIGN day = "24"
  ASSIGN year = "1936"
}

ASSIGN stringDate1 = "{datebuild(Year,Month,Day).asdate}"
ASSIGN stringDate2 = "{datebuild(Year,Month,Day)}"

ASSIGN numericDate = datebuild(Year,Month,Day)

Het resultaten van het voorbeeld zijn::

  • stringDate1 = 1/24/1936
  • stringDate2 = 1/24/1936 12:00:00 AM
  • numericDate = 13173

datediff(unit, date2)

Retourneert het verschil tussen twee datums, date1 en date2.

unit specificeert het datumdeel dat moet worden vergeleken. De date2 specificeert de datum die moet worden vergeleken met de waarde van de variabele. Als date2 groter is dan de waarde in de variabele, zijn de resultaten positief.

Mogelijke keuzen voor eenheid zijn: week, day, hour, minute en second.

unit is hoofdlettergevoelig. Plaats unit tussen enkele of dubbele aanhalingstekens of geef een variabele door die unit bevat. Als u een variabele doorgeeft, mag u de variabele niet tussen aanhalingstekens of accolades plaatsen.

Las het verschil een gebroken getal is, zal de retourwaarde dat ook zijn. Als de variabele bijvoorbeeld de datum-tijd 10/15/2022 6:00 AM bevat en date2 10/16/2022 6:00 PM is, dan is het resultaat voor unit dag 1.5

IF TEST = 1
{
  ASSIGN myDateTime = #"{now}"
  ASSIGN myBirthday = #"4/24/1936 10:42 PM"
}
ASSIGN weekDiff = datediff("week", myBirthday, myDateTime)
ASSIGN dayDiff = datediff("day", myBirthday, myDateTime)
ASSIGN hourDiff = datediff("hour", myBirthday, myDateTime)
ASSIGN minuteDiff = datediff("minute", myBirthday, myDateTime)
ASSIGN secondDiff = datediff("second", myBirthday, myDateTime)

Het resultaten van het voorbeeld zijn::

  • dayDiff = 1584.9546875
  • hourDiff = 38038.9125
  • minuteDiff = 2282334.75
  • secondDiff = 136940085
  • weekDiff = -368.850553902116

datefmt(date, format)

Voert date uit met de opgegeven opmaakstring. De waarde van date moet een van de volgende zijn:

Wanneer u de uitvoer format definieert, gebruikt u de notatieaanduidingen die het uiterlijk van de datum en tijd definiëren.

ASSIGN currentTime = now
ASSIGN formCurrentTime1 ="{datefmt(currentTime, 'yyyy-MM-dd HH:mm:ss')}"
ASSIGN formCurrentTime2 ="{datefmt(currentTime, 'MM/dd/yyyy hh:mm:ss')}"
ASSIGN formCurrentTime3 ="{datefmt(currentTime, 'HHmmssyyyyMMdd')}"
ASSIGN formCurrentTime4 ="{datefmt(currentTime, 'HH:mm:ss')}"

Het resultaten van het voorbeeld zijn:: 

  • formCurrentTime1 = 2023-06-30 14:03:17
  • formCurrentTime2 = 06/30/2023 02:03:17
  • formCurrentTime3 = 14031720230630
  • formCurrentTime4 = 14:03:17

De datefmt() -functie staat ook toe een deel van de datum op te halen van een bestaande datum-/tijdwaarde. Gebruik hiervoor deze syntaxis:

ASSIGN <var> = "{<date var>.datefmt('<format>')}"

Bijvoorbeeld:

ASSIGN myDate = #"{now}"
ASSIGN myYear2 = "{myDate.datefmt('yyyy')}"

Het resultaat van het voorbeeld is : myYear2 = 2023

datepart(unit)

Retourneert een gedeelte van een datum of tijd. Retourneert een gedeelte van een datum of tijd volgens de opgegeven unit. De variabele moet een datum/tijd-type of een string bevatten die een correct opgemaakte datum/tijd of OLE-automatisering aantalGesloten Een manier om datums en tijden weer te geven als drijvendekommagetallen. Duidt het aantal dagen sinds 30 december 1899 aan. is. unit bepaalt welk gedeelte van de datumwaarde wordt geretourneerd. Deze functie moet worden opgeroepen op een datum/tijd-variabele. Als u een datum/tijd-waarde in de functie doorgeeft, zal dit niet werken.

Mogelijke keuzen voor eenheid zijn: year, month, day, hour, minute, second en dow.

unit is hoofdlettergevoelig. Plaats unit tussen enkele of dubbele aanhalingstekens of geef een variabele door die unit bevat. Als u een variabele doorgeeft, mag u de variabele niet tussen aanhalingstekens of accolades plaatsen.

Als de functie niet kan worden voltooid door een onjuiste of onverwachte invoer, is de standaard uitvoer December 30, 1899.

Wanneer gebruikt in een tekenreeks:

Retourneert de stringrepresentatie van het opgegeven date-deel:

  • Month Retourneert de afkorting van de maand in drie tekens.
  • Year retourneert het volledige jaartal (vier cijfers).
  • Hour retourneert het uur in 24-uurs notatie.
  • Dow staat voor Dag van de week en retourneert de volledige Niet-afgekorte stringvoorstelling van de naam van de dag van de week. Bijvoorbeeld: Donderdag.

Alle numerieke waarden, behalve het jaartal, worden voorafgegaan door een 0 als er minder dan twee cijfers zijn.

Wanneer gebruikt in een numerieke expressie:

Retourneert de numerieke representatie van het opgegeven date-deel:

  • Year retourneert het volledige jaartal (vier cijfers).
  • Hour retourneert het uur in 24-uurs notatie.
  • Dow staat voor Dag van de week en retourneert het rangtelwoord (0-6) voor de weekdag, waarbij zondag 0 is, maandag 1 enz.
IF TEST = 1
{
  ASSIGN myDateTime = now
}
ASSIGN myYear = myDateTime.datepart('year')
ASSIGN myHour = myDateTime.datepart('hour')				
ASSIGN myMinute = myDateTime.datepart('minute')
ASSIGN mySecond = myDateTime.datepart('second')
				
ASSIGN stringMyDay = "{myDateTime.datepart('day')}"
ASSIGN numericMyDay = myDateTime.datepart('day')
				
ASSIGN stringMyMonth = "{myDateTime.datepart('month')}"
ASSIGN numericMyMonth = myDateTime.datepart('month')
							
ASSIGN stringMyDow = "{myDateTime.datepart('dow')}"
ASSIGN numericMyDow = myDateTime.datepart('dow')

Het resultaten van het voorbeeld zijn::

  • myYear = 2023
  • myHour = 13
  • myMinute = 51
  • mySecond = 3
  • stringMyDay = 30
  • numericMyDOW = 5
  • stringMyDOW = Friday
  • numericMyMonth = 6
  • stringMyMonth = Jun

datetimebuild(year, month, day, hour, minute, second)

Retourneert een datum/tijd-waarde. Als de functie niet kan worden voltooid door een onjuiste of onverwachte invoer, is de standaard uitvoer December 30, 1899.

Wanneer gebruikt in een tekenreeks: retourneert een datum/tijd, opgemaakt in de standaard datum/tijd-notatie.

Indien gebruikt als een numerieke expressie: retourneert een -tijd volgens de OLE-automatiseringGesloten Een manier om datums en tijden weer te geven als drijvendekommagetallen. Duidt het aantal dagen sinds 30 december 1899 aan..

IF TEST = 1
{
  ASSIGN month = "1"
  ASSIGN day = "24"
  ASSIGN year = "1985"
  ASSIGN hour = "15"
  ASSIGN minute = "42"
  ASSIGN second = "13"
}
ASSIGN stringDate = "{datetimebuild(year,month,day,hour,minute,second)}"
ASSIGN numericDate = datetimebuild(year,month,day,hour,minute,second)

Het resultaten van het voorbeeld zijn::

  • numericDate = 31071.6543171296
  • stringDate = 1/24/1985 3:42:13 PM

dow()

Retourneert de dag van de week als een getal van 0 tot 6 waarbij 0 de zondag is.

De variabele moet een datum/tijd-type of een string bevatten die een correct opgemaakte datum/tijd of OLE-automatisering aantalGesloten Een manier om datums en tijden weer te geven als drijvendekommagetallen. Duidt het aantal dagen sinds 30 december 1899 aan. is. Als de functie niet kan worden voltooid door een onjuiste of onverwachte invoer, is de standaard uitvoer December 30, 1899.

ASSIGN myNow = "{now}"
ASSIGN myDow = myNow.dow()

De resultaten van de functie zijn afhankelijk van de waarde van now wanneerdow is geëvalueerd.

format(specifiers)

Retourneert een string die is opgemaakt met de opgegeven specifiers. De specifiers is alleen van toepassing op de numerieke waarden in de variabele. Voor pscifiers gebruikt u de volgende notatieaanduidingen:

  • C of c: valuta
  • E of e: wetenschappelijk/exponentieel
  • F of f: vast punt
  • N of n: getal

  • P or p: percentage
  • R of r: round-trip
  • X of x: hexadecimaal
  • 0: 0-plaatshouder

U kunt meer informatie ontdekken over deze numerieke indelingen voor gebruik met deze functie.

IF TEST = 1
{
  ASSIGN stringVal = "0013001.93912837"
  ASSIGN stringVal2 = 6002348902348890234.234432234
}
ASSIGN currencyResultBigC = "{stringVal.format('C3')}"
ASSIGN currencyResultLilC = "{stringVal.format('c')}"

ASSIGN scientificResult = "{stringVal.format('e')}"
ASSIGN scientificResult2 = "{stringVal.format('E2')}"

ASSIGN fixedPointResult = "{stringVal.format('F3')}"
ASSIGN fixedPointResult2 = "{stringVal.format('f')}"


ASSIGN numberResult = "{stringVal.format('N')}"
ASSIGN numberResult2 = "{stringVal.format('n4')}"

ASSIGN percentResult = "{stringVal.format('P')}"
ASSIGN percentResult2 = "{stringVal.format('P2')}"

ASSIGN roundTripResult = "{stringVal.format('R')}"

ASSIGN number1 = "1789789"
ASSIGN sectionSeparator1 = number1.format('###,###.##;0000.00;000.0000')

ASSIGN number2 = "0"
ASSIGN sectionSeparator2 = number2.format('0.00;0000.00;000.0000')

ASSIGN number3 = "-4321"
ASSIGN sectionSeparator3 = number3.format('0.00;0000.00;000.0000')

ASSIGN number6 = "2343.56"
ASSIGN digitPlaceholders1 = number6.format('###.###')

//Examples of the double ## and 00 placeholders

ASSIGN number4 = "456.47"
ASSIGN doubleZeroSpecifier = number4.format('00')

ASSIGN number7  = "456.47"
ASSIGN doubledigitSpecifier = number7.format('##')

//in the following example, notice the 0 in the hundredths place. 
//With the zero placeholder, it appears in the output. With the # placeholder
//it does not. 

ASSIGN number5 = "2343456.2043"
ASSIGN zeroPlaceholders = number5.format('000,000.00')

ASSIGN number8 = "2043456.2043"
ASSIGN digitPlaceholders2 = number8.format('###,###.##')

Het resultaten van het voorbeeld zijn::

  • currencyResultBigC = $13,001.939
  • currencyResultLilC = $13,001.94
  • fixedPointResult = 13001.939
  • fixedPointResult2 = 13001.94
  • numberResult = 13,001.94
  • numberResult2 = 13,001.9391
  • percentResult = 1,300,193.91%
  • percentResult2 = 1,300,193.91%
  • roundTripResult = 13001.93912837
  • scientificResult = 1.300194e+004
  • scientificResult2 = 1.30E+004

index(indexValue)

Retourneert het matrixelement van de inhoud van de variabele volgens de opgegeven indexValue. Dit is hetzelfde als het uitlezen van een array met behulp van vierkante haakjes. variable[3] is bijvoorbeeld identiek aan variable.index(3).

Arrays in Studio beginnen met 1, niet met 0.

IF TEST = 1
{
  ASSIGN example1 = "Beowulf|Grendel|Hrothgar|Wyrm|Breca|Scyld|Hrethel"
  ASSIGN indexValue = 3
}
ASSIGN arrayPart1 = "{example1.index(indexValue)}"

indexof(string)

Retourneert de tekenpositie van de string zoals deze voorkomt in de variabele. De eerste positie is 1. Als de variabele string niet bevat, retourneert de functie de waarde 0. Deze functie is hoofdlettergevoelig.

IF TEST = 1
{
  ASSIGN example1 = "Beowulf|Grendel|Hrothgar|Wyrm|Breca|Scyld|Hrethel"
  ASSIGN example2 = "The Epic Poem"
}
ASSIGN arrayLoc = example1.indexof('Breca')
ASSIGN characterLoc = example2.indexof('E')
ASSIGN invalidLoc = example2.indexof('e')

iif(compare, trueval, falseval)

Inline-if voor nummers Evalueert compare, retourneert vervolgens trueval of falseval, afhankelijk van de resultaten van de evaluatie.

Als compare niet-nul (true) is, wordt trueval geretourneerd.

Als compare nul (False) is, wordt de falseval geretourneerd.

Zowel trueval als falseval moeten numerieke waarden of expressies zijn. Strings zijn niet toegestaan. Deze functie is identiek aan de functie iifs(), behalve dat het numerieke waarden verwacht.

ASSIGN val1 = 4 > 5
ASSIGN val2 = 4  < 5

ASSIGN test1 = val1 > val2
ASSIGN test2 = val1 < val2

ASSIGN trueS = "you win"
ASSIGN falseS = "try again"

ASSIGN varFalse = "{iif(test1,trueS,falseS)}"

ASSIGN varTrue = "{iif(test2,trueS,falseS)}"

Het resultaten van het voorbeeld zijn::

  • varFalse = "try again"
  • varTrue = "you win"

iifs(compare, truestr, falsestr)

String inline-if. Evalueert compare, retourneert vervolgens trueval of falseval, afhankelijk van de resultaten van de evaluatie.

Als compare niet-nul (true) is, wordt truestr geretourneerd.

Als compare nul (False) is, wordt de falsestr geretourneerd.

Deze functie is identiek aan iif(), maar deze verwacht strings.

ASSIGN val1 = "grapes" 
ASSIGN val2 = "grapey"

ASSIGN test1 = val1 >  val2
ASSIGN test2 = val1 <  val2

ASSIGN trueS = "you win"
ASSIGN falseS = "try again"

ASSIGN varFalse = "{iifs(test1,trueS,falseS)}"

ASSIGN varTrue = "{iifs(test2,trueS,falseS)}"

Het resultaten van het voorbeeld zijn: :

  • varFalse = "try again"
  • varTrue = "you win"

isalpha()

De isalpha()-functie retourneert 1 (true) als alle tekens in de variabele letters zijn (A-Z, a-z). Als geen van de tekens alfabetisch zijn, retourneert de functie 0. Een lege variabele of een waarde die speciale tekens bevat (zoals # of $) of cijfers, retourneren 0. Zie ook: isletter().

IF TEST = 1
{
  ASSIGN varAlpha = "abcde"
  ASSIGN varNum = "12345"
}
ASSIGN alphaRes1 = varAlpha.isalpha() //true
ASSIGN alphaRes2 = varNum.isalpha() //false

isdigit()

De isdigit()-functie retourneert 1 (true) als het eerste teken in de variabele een cijfer is (0-9). Anders retourneert de functie 0 (false). Een lege variabele of een waarde die begint met een speciaal teken, retourneert 0. Zie ook: isletter().

IF TEST = 1
{
  ASSIGN example1 = "12Monkeys"
  ASSIGN example2 = "Oceans11"
}
ASSIGN result1 = example1.isdigit() //This is True
ASSIGN result2 = example2.isdigit() //This is False

isletter()

De isletter()-functie retourneert 1 (true) als het eerste teken in de variabele een letter is van het alfabet (A-Z, a-z). Anders retourneert de functie 0 (false). Een lege variabele of een waarde die begint met een speciaal teken, retourneert 0. Zie ook: isdigit().

IF TEST = 1
{
  ASSIGN example1 = "12Monkeys"
  ASSIGN example2 = "Oceans11"
}
ASSIGN result3 = example1.isletter() //This Is False
ASSIGN result4 = example2.isletter() //This Is True

isnumeric()

De isnumeric()-functie retourneert 1 (true) als alle tekens in de variabele cijfers zijn. Als een van de tekens niet-numeriek zijn, retourneert 0Een lege variabele of een waarde die speciale tekens bevat (zoals # of $) of cijfers retourneren 0. Zie ook: isdigit().

IF TEST = 1
{
  ASSIGN varAlpha = "abcde"
  ASSIGN varNum = "12345"
}
ASSIGN numRes1 = varNum.isnumeric() //true
ASSIGN numRes2 = varAlpha.isnumeric() //false

islower() en isupper()

De functie isupper() retourneert 1 (true) als het eerste teken van de variabele een hoofdletter is. Anders retourneert de functie 0 (false).

De islower() -functie retourneert 1 (true) als het eerste teken van de variabele een kleine letter is. Anders retourneert de functie 0 (false).

IF TEST = 1
{
  ASSIGN example1 = "Beowulf"
  ASSIGN example2 = "monster fighter"
}
ASSIGN result1 = example1.isupper() //This is true
ASSIGN result2 = example2.isupper() //This is false
ASSIGN result3 = example1.islower() //This is false
ASSIGN result4 = example2.islower() //This is true

left(number) en right(number)

Retourneert de number tekens uiterst links of uiterst rechts.

IF TEST = 1
{
  ASSIGN example1 = "Abc.456"
  ASSIGN locationVar = 4
}
ASSIGN stringLeftVariable = "{example1.left(locationVar - 1)}"
ASSIGN numericLeftVariable = example1.left(locationVar - 1)
ASSIGN stringRightVariable = "{example1.right(locationVar + 1)}"
ASSIGN numericRightVariable = example1.right(locationVar + 1)

Het resultaten van het voorbeeld zijn:: 

  • numericLeftVariable = Gre
  • numericRightVariable = 34567
  • stringLeftVariable = Gre
  • stringRightVariable = 34567

length()

Retourneert de lengte van de stringrepresentatie van de waarde van de variabele. Als de waarde bijvoorbeeld een getal is als 1234.56, wordt de lengte geretourneerd als 7. Aantal spaties en speciale tekens volgens lengte.

IF TEST = 1
{
  ASSIGN example1 = "8015551234"
  ASSIGN example2 = 2357.984
  ASSIGN example3 = "Beowulf Herot"
}

ASSIGN ex1Len = example1.length()
ASSIGN ex2Len = example2.length()
ASSIGN ex3Len = example3.length()

Het resultaten van het voorbeeld zijn:: 

  • ex1Len = 10
  • ex2Len = 8
  • ex3Len = 13

ln(value)

Retourneert de natuurlijke logaritme (grondgetal e) van de value. De value wordt opgegeven als een getal in het 10-tallig stelsel.

ASSIGN natLog = "{ln(434)}"

Het resultaat van het voorbeeld is : natLog=6.07304453410041

log10(value)

Retourneert de logaritme (grondgetal 10) van de opgegeven value.

ASSIGN log10Num = "{log10(434)}"

Het resultaat van het voorbeeld is : log10Num=2.63748972951251

log2(value)

Retourneert de logaritme (grondgetal 2) van de opgegeven value. De value wordt opgegeven als een getal in het 10-tallig stelsel.

ASSIGN log2Num = "{log2(434)}"

Het resultaat van het voorbeeld is : log2Num=8.76155123244448

logn(value,base)

Retourneert de logaritme van de opgegeven value in de opgegeven base. Beide parameters worden gespecificeerd als getallen in het 10-tallig stelsel.

ASSIGN lognNum = "{logn(434,5)}"

Het resultaat van het voorbeeld is : lognNum=3.77339472817288

max(value1,value2) en min(value1,value2)

max() retourneert de grootste van de twee opgegeven numerieke waarden.

min() retourneert de kleinste van de twee opgegeven numerieke waarden.

Als u doorgeeft in stringwaarden, evalueren beide functies altijd naar 0.

IF TEST = 1
{
  ASSIGN value1 = 10
  ASSIGN value2 = 12
}
ASSIGN resultMin = min(value1, value2)

ASSIGN resultMax = max(value1, value2)

Het resultaten van het voorbeeld zijn::

  • resultMin = 10
  • resultMax = 12

mid(start,length)

Retourneert de tekens van start tot en met start+length. De eerste tekenpositie is 1. Als start+length groter is dan de lengte van de brontekst, wordt deze automatisch afgekapt aan het einde van de brontekst.

Deze functie lijkt op substr(). Zowel mid() als substr() retourneren een subset van tekens. Het verschil is, dat met substr(), de functie de tekens tussen de opgegeven start- en eindpunten retourneert. Met mid() retourneert de functie een opgegeven aantal tekens , gedefinieerd door length, na het opgegeven start.

IF TEST = 1
{
  ASSIGN phoneNum = "8015553549"
  ASSIGN fullName = "Hrothgar King"
}
ASSIGN localNumber = "{phoneNum.mid(4,7)}"

ASSIGN spaceLoc = fullName.indexof(' ')
ASSIGN fullNameLength = fullName.length
ASSIGN firstName = "{fullName.mid(1,SpaceLoc - 1)}"
ASSIGN lastName = "{fullName.mid(SpaceLoc + 1,fullNameLength - spaceLoc)}"

Het resultaten van het voorbeeld zijn::

  • firstName = Hrothgar
  • lastName = King
  • localNumber = 1234567

random(value)

Retourneert een willekeurig niet-negatief geheel getal dat kleiner is dan de opgegeven maximumwaarde.

Als u een waarde nodig hebt binnen het bereik van één tot en met value, kunt u 1 toevoegen aan de uitvoer van de random functie:

ASSIGN d20Result = random(20) + 1

IF TEST = 1
{
  ASSIGN value = 10
}
ASSIGN newValue1 = random(Value)
ASSIGN newValue2 = random(Value)
ASSIGN newValue3 = random(Value)
ASSIGN newValue4 = random(Value)

replace(old,new)

Vervangt overal in de string de waarde van old door new. Deze functie werkt met alle van de volgende opmaakvariaties:

  • ASSIGN result = "{value.replace(char,'-')}"
  • ASSIGN result = value.replace(char,'-')
  • ASSIGN result = value.replace('{char}','-')
  • ASSIGN result = value.replace("{char}",'-')
IF TEST = 1
{
	ASSIGN replaceTest1 = "$1234.56"
	ASSIGN replaceTest2 = "Beowulf%Grendel^Hrothgar*@Grendel\'s mom"
	ASSIGN replaceTest3 = "It   was   a   hard   battle."
	ASSIGN replaceTest4 = "Beowulf%Grendel^Hrothgar*@Grendel\'s mom"
}

//The first example will replace the dollar sign in an amount with nothing

ASSIGN replaceTest1 = "{replaceTest1.replace('$','')}"

//The second example we are just replacing random charcters and replacing
//them with a space.  The final result is a space between each name

ASSIGN replaceTest2 = "{replaceTest2.replace('%',' ')}"
ASSIGN replaceTest2 = "{replaceTest2.replace('^',' ')}"
ASSIGN replaceTest2 = "{replaceTest2.replace('*',' ')}"
ASSIGN replaceTest2 = "{replaceTest2.replace('@','')}"

ASSIGN replaceTest3 = "{replaceTest3.replace('  ',' ')}"
ASSIGN replaceTest3 = "{replaceTest3.replace('  ',' ')}"

//The following example is the second example, but broken out so 
//each step is preserved in a separate variable that you can see
//in the Debugger panel on the right. 

ASSIGN replaceTest4a = "{replaceTest4.replace('%',' ')}"
ASSIGN replaceTest4b = "{replaceTest4a.replace('^',' ')}"
ASSIGN replaceTest4c = "{replaceTest4b.replace('*',' ')}"
ASSIGN replaceTest4d = "{replaceTest4c.replace('@','')}"

Het resultaten van het voorbeeld zijn::

  • replaceTest1 = 1234.56
  • replaceTest2 = Beowulf Grendel Hrothgar Grendel\'s mom
  • replaceTest3 = It was a hard battle.
  • replaceTest4 = Beowulf%Grendel^Hrothgar*@Grendel\'s mom
  • replaceTest4a = Beowulf Grendel^Hrothgar*@Grendel\'s mom
  • replaceTest4b = Beowulf Grendel Hrothgar*@Grendel\'s mom
  • replaceTest4c = Beowulf Grendel Hrothgar @Grendel\'s mom
  • replaceTest4d = Beowulf Grendel Hrothgar Grendel\'s mom

round(value)

Retourneert de value, afgerond naar het dichtstbijzijnde gehele getal volgens de IEEE Standard 754-4 (ook "banker's rounding" genoemd).

IF TEST = 1
{
  ASSIGN numEx = 102.5689
}
ASSIGN newValue = round(numEx)

Het resultaat van het voorbeeld is :numEx = 102,5689

savetodb(1or0)

Deze functie slaat de waarde van een variabele aan het einde van de interactie op naar de database Wees u ervan bewust dat de waarde van een variabele kan wijzigen terwijl een script wordt uitgevoerd. Verschillende acties en processen kunnen de waarden van een variabele wijzigen of wissen. Als dit zich voordoet en u de waarde wilt opslaan vanaf een specifiek punt in het script, moet u een nieuwe variabele maken, de gewenste waarde eraan toewijzen en savetodb() ermee gebruiken.

savetodb() is geen echte functie. Het is een eigenschap van variabelen in Studio. U kunt deze toepassing op variabelen wanneer u werkt in snippets. U kunt deze ook instellen wanneer u de Assign action gebruikt. U kunt op twee manieren toegang krijgen tot de opgeslagen gegevens:

Voeg savetodb() toe aan een variabele met 1 als het argument om de waarde van een variabele te laten opslaan naar de database, zoals weergegeven in het volgende voorbeeld:

ASSIGN variable='123123123'
variable.savetodb(1)

Als u savetodb() gebruikt in een subscript dat is gespawnd met een RUNSUB-actie, moet u de variabele declareren als algemeen. Dit verzekert dat de variabele behouden blijft nadat het subscript de controle heeft teruggegeven aan het oproepscript. Als u de variabele niet als algemeen declareert, is het een lokale variabele die alleen bestaat in het subscript. savetodb() Werkt alleen met variabelen die bestaan in het oproepscript.

Declareren van variabelen in een subscript als globaal, is één manier om toegang te krijgen tot de waarden van variabelen in een subscript. Een andere optie is het gebruik van de GET /contacts/{contactId}/custom-data Een pictogram van een vierkant met een pijl die uit het midden naar de rechterbovenhoek wijst. API.

screenpop() and setscreenpop(1or0)

screenpop() en setscreenpop() zijn geen echte functies. Het zijn eigenschappen van variabelen in Studio die u kunt instellen wanneer u werkt met schermpopupsGesloten Een configureerbaar popup-venster met informatie over het contact. De popup verschijnt op het scherm van de agent na een bepaalde gebeurtenis, bijvoorbeeld wanneer de agent verbinding krijgt.. U kunt ze toepassen op variabelen wanneer u werkt in snippets. U kunt deze ook instellen met de Assign actie.

Voeg setscreenpop() toe aan een variabele met 1 als het argument om de waarde van een variabele door te geven naar de schermpopup.

Voeg screenpop() toe aan een variabele om te controleren of de ScreenPop-vlag is ingesteld. De eigenschap retourneert 1 indien true en 0 indien false.

ASSIGN val1 = "name"
//ASSIGN popthis = val1.setscreenpop(1)
ASSIGN ispop = thispop.screenpop

sgn(value)

Retourneert een waarde die het teken van de opgegeven value aangeeft. Retourneert -1 als value kleine is dan nul, 0 als value gelijk is aan nul en 1 als value groter is dan nul.

ASSIGN signOfNum = "{sgn(89)}, {sgn(0.00)}, {sgn(-89)}"

Het resultaat van het voorbeeld is : signOfNum = 1, 0, -1

sin(value)

Retourneert de sinus van de opgegeven value. De value moet in radialen worden opgegeven.

ASSIGN angleRad = 0.394791119699762
ASSIGN sinNum = "{sin(angleRad)}"

Het resultaat van het voorbeeld is : sinNum = 0.384615384615385

sinh(value)

Retourneert de hyperbolische sinus van de opgegeven value. De value moet in radialen worden opgegeven.

ASSIGN hSine = "{sinh(angleRad)}"

Het resultaat van het voorbeeld is : hSine=0.405126696125173

split(delimiter)

Retourneert de inhoud van de variabele als een door verticale strepen gescheiden string die geschikt is om als een array te worden verwerkt. De delimiter wordt geconverteerd naar het symbool met de verticale streep ( | ).

Wanneer het resultaat wordt toegewezen aan een nieuwe variabele, zal de nieuwe variabele zich gedragen als een array en de index-syntax ondersteunen, zoals in variable[index].

Split kan ook in een snippet worden gebruikt om een variabele te converteren naar een array. Als u split op deze manier gebruikt, wordt de inhoud van de variabele gewijzigd.

IF TEST = 1
{
  ASSIGN varString = "one,two,three,four"
}
//Example One using split to assign result to a new variable

ASSIGN varArray = "{varString.split(',')}"

//Example Two using split to change the value of an existing variable to an array

VvarString.split(',')

Het resultaten van het voorbeeld zijn::

  • varArray = one|two|three|four
  • varString = one|two|three|four

sqrt(value)

Retourneert de vierkantswortel van de opgegeven value.

ASSIGN root = "{sqrt(25)}"

Het resultaat van het voorbeeld is : root = 5

substr(start,end)

Retourneert de tekens van start tot en met end. De eerste tekenpositie is 1. Als end groter is dan de lengte van de brontekst, wordt deze automatisch afgekapt aan het einde van de brontekst.

Deze functie lijkt op mid(). Zowel mid() als substr() retourneren een subset van tekens. Het verschil is, dat met substr(), de functie de tekens tussen de opgegeven start- en eindpunten retourneert. Met mid() retourneert de functie een opgegeven aantal tekens , gedefinieerd door length, na het opgegeven start.

IF TEST = 1
{
  ASSIGN enteredAmount = 15269
  ASSIGN phoneNum = "8015553437"

}
ASSIGN areaCode = "{phoneNum.substr(1,3)}"

ASSIGN amountLength = enteredAmount.length()
ASSIGN dollars = enteredAmount.substr(1,amountLength - 2)
ASSIGN cents = enteredAmount.substr(amountLength - 1,amountLength)
ASSIGN totalAmount = "${dollars}.{cents}"

Het resultaten van het voorbeeld zijn::

  • areaCode = 801
  • totalAmount = $152.69

tan(value)

Retourneert de tangens van de opgegeven value. De value moet in radialen worden opgegeven.

ASSIGN angleRad = 0.394791119699762
ASSIGN tanNum = "{tan(angleRad)}"

Het resultaat van het voorbeeld is : tanNum = 0.416666666666667

tanh(value)

Retourneert de hyperbolische tangens van de opgegeven value. De value moet in radialen worden opgegeven.

ASSIGN angleRad = 0.394791119699762
ASSIGN hTan = "{tanh(angleRad)}"

Het resultaat van het voorbeeld is : hTan = 0.375483244486081

trim(), ltrim() en rtrim()

De functie trim() retourneert een string waaruit alle witruimtetekens aan het begin en aan het einde zijn verwijderd. Witruimte betekent spaties, tabs en regeleinden.

De functie ltrim() retourneert een string waaruit alle witruimtetekens aan het begin zijn verwijderd.

De functie ritrim() methode retourneert een string waaruit alle witruimtetekens aan het einde zijn verwijderd.

IF TEST = 1
{
  ASSIGN varString = "      Beowulf      "
}
ASSIGN trimRes = varString.trim

ASSIGN lTrimRes = varString.ltrim

ASSIGN rTrimRes = varString.rtrim

Het resultaten van het voorbeeld zijn: : 

  • trimRes = " Beowulf "
  • lTrimRes = "Beowulf      "
  • rTrimRes = "      Beowulf".

trunc(value)

Berekent het gehele deel van de opgegeven value. trunc() rondt de value af naar het dichtstbijzijnde gehele getal in de richting van nul.

ASSIGN truncNum = "{trunc(945.6)}, {trunc(946.9)}"

Het resultaat van het voorbeeld is : truncNum = 945, 946

upper() en lower()

De upper()-functie retourneert de inhoud van de variabele waarbij alle letters zijn omgezet in hoofdletters.

De lower()-functie retourneert de inhoud van de variabele waarbij alle letters zijn omgezet in kleine letters.

IF TEST = 1
{
  ASSIGN variable1 = "Beowulf is a monster fighter"
  ASSIGN variable2 = "BEOWULF IS A MONSTER FIGHTER"
}
ASSIGN variable1  = "{variable1.upper()}"

ASSIGN variable2  = "{variable2.lower()}"

urlencode() en urldecode()

De urlencode()-functie retourneert de inhoud van de variabele na codering op basis van de internetstandaard voor URL-codering. Sommige van de gegevens die aan een URL moeten worden toegevoegd voor schermpopupsGesloten Een configureerbaar popup-venster met informatie over het contact. De popup verschijnt op het scherm van de agent na een bepaalde gebeurtenis, bijvoorbeeld wanneer de agent verbinding krijgt., moeten bijvoorbeeld worden gecodeerd om correct te worden verzonden.

De urldecode()-functie retourneert de inhoud van de variabele na decodering op basis van de internetstandaard voor URL-codering. In het volgende voorbeeld decodeert urldecode() de variabele URL wat betekent dat URL en newURL dezelfde waarde hebben.

IF TEST = 1
{
  ASSIGN dnis= "5551234567"
  ASSIGN ani = "5550987654"
  ASSIGN waitTime = "2 02:39:42"
  ASSIGN callOriginationTime = "{datefmt(now, 'yyy-MM-dd HH:mm:ss')}"
}

ASSIGN URL = "?&sys_id=-1&sysparm_query=u_source_phone={DNIS}^u_caller_phone={ANI}^u_wait_time_string={waitTime}^opened_at={callOriginationTime}"
ASSIGN eURL = URL.urlencode()
ASSIGN popURL = "http://www.incontact.com{eURL}"

ASSIGN newURL = eURL.urldecode()