Generellt
Med dynamiska fältformler kan du till exempel räkna värden, skapa villkorliga klausuler, redigera fältinformation etcetera inom en enda CRM-service. Med dynamiska fältformler kan du också söka information från en annan modul till enheten eller räkna värden för rader. Det är också möjligt att ha ett visst informationsfält att visa till höger om enheten när enheten öppnas och villkoret är uppfyllt. Du kan komma åt de dynamiska fältformlerna i varje moduls inställningar eller via Inställningar → Module Manager.
Formlerna för dynamiska fält körs när enheten skapas, när information hämtas till annat fält eller mellan att klicka på knappen Spara och den faktiska lagringen till databasen. Formlerna för detaljvy kontrolleras när enheten öppnas i CRM.
Om formeln körs antingen ”Vid spara”, notera att den endast körs om enheten sparas i redigeringsläge. Således kommer formeln inte att köras om formelns målfält redigeras med snabbredigering eller massredigering, eller om data importeras till fältet via CSV eller integration.
Med Kör formler kan du köra alla formler på en gång för den modul du befinner dig i. Detta möjliggör till exempel att uppdatera information och redigera från fält till ett annat om det till exempel är ett underhållsavbrott. Denna funktion skriver över information i alla befintliga enheter i modulen enligt formlerna. Du kan köra alla formler för upp till 5 000 enheter.
Formlerna körs i den ordning de visas i listan. Du kan ändra ordningen genom att dra formler upp och ner i listan.
Start
Du kan skapa en ny formel från knappen Ny formel. I fältet ”Kör” kan du bestämma om denna formel körs t.ex. när enheten skapas, när den sparas eller när information samlas in till annat fält. I fältet ”Fält” bestämmer du det målfält, där du vill att värdet ska sparas. I fältet ”Formel” bestämmer du önskad formel.
- Om formeln körs På spara, körs körningen varje gång du klickar på knappen Spara efter redigering av entiteten.
- Om formeln körs På skapa, körs körningen när entiteten först skapas.
- Om formeln körs vid On Validation, görs körningen när du klickar på knappen Spara. Formeln kontrollerar sedan innehållet i fältet och om innehållet inte är giltigt visar formeln en varning och avbryter lagringen av enheten. En valideringsformel görs med detta köralternativ.
- OBS! Formler som körs På fältet fungerar bara i Legacy version av systemet.
Under de flesta moduler kan du också välja att körningen ska vara På visa. Sedan är körningen klar när knappen Spara klickas. En detaljvyformel görs med detta alternativ och den informerar användaren med ett meddelande om villkoren för formeln är uppfyllda. Detta meddelande finns till höger om den sparade enheten. Obs: om formeln körs ”På visa” tillåter den att enheten sparas, i motsats till körningen ”On validation”. Om dessa formler bygger endast på en if-sats visas informationstexten endast när if-satsen är sann. Om det även finns en else-sats kan formeln byggas så att informationstexten visas, när else-satsen är sann.
Om fältet är inställt som framgång ser detaljvyn ut så här:
Om fältet är inställt som information:
Om fältet är inställt som varning:
Om fältet är inställt som fara:
Den nya formeln aktiveras genom att klicka på alternativet Aktivera under rubriken Åtgärder. Nu är formeln aktiv och behöver inte köras med funktionen Kör formler. Bilderna nedan representerar en aktiv formel (vänster) och en inaktiverad formel (höger).
Begränsningar
- Dynamiska formler fungerar inte på modulverktyg. Om modulverktyget skulle ha vissa funktioner måste de bestämmas med modulverktygsparametrar (mer information om Modulverktyg).
- Dynamiska formler kan endast beräkna resultat för fält som är redigerbara eller i ett visst skrivskyddat format (om du har en inställning ”visa endast i detaljvy” kan dynamisk fältformel inte användas).
- I moduler som har radnivåfält (t.ex. fakturor, försäljningsorder, offerter) kan informationen på rader inte användas i en dynamisk formel för ett huvudnivåfält eller vice versa (läs mer om formler på radnivå längre ner).
- Endast äldre: Snabbredigering (enkelfältsredigering) eller massredigering aktiverar inte dynamiska formler.
- Endast äldre: Dynamiska formler aktiveras inte från att importera data med en CSV-fil. (Ett annat verktyg för att trigga formler vid import av data finns tillgängligt via supportportalen)
Dynamiska formler på radfält
Du kan också skapa dynamiska formler för fält på radnivå som t.ex. offerter, försäljningsorder och fakturor har. Den här funktionen är inte aktiverad som standard, men du kan aktivera den i Inställningar → Ytterligare inställningar genom att aktivera fältet Aktivera dynamiska formler för radfält.
Det finns dock några begränsningar när det gäller formlerna för fälten på radnivå:
- Formlerna för fälten på radnivå kan endast köras antingen ”På spara” eller ”På skapande”.
- I fältformler på radnivå kan du inte hämta information från fälten på huvudnivån (t.ex. offertens namn, förfallodatum eller andra ”normala” fält) eller vice versa.
Schemalägga dynamiska fältformler
Formler kan schemaläggas och köras i bakgrunden för att till exempel göra beräkningar utan att öppna och spara enheten. Läs mer om hur du gör schemalagda fältformler här: Schemalagda uppgifter.
Skapa variabler och använda dem i fältformler
Det är möjligt att skapa egna variabler, som sedan kan användas i dynamiska fältformler.
Till exempel kan vi skapa en variabel ”pi” som ger värdet av pi med två decimaltal. Detta skulle skapas med följande formel:
{assign_static var=”pi” value=”3.14”}
Därefter kan variabeln användas enligt följande:
{get_static var=”pi”}
Placera värdet på den statiska variabeln till den lokala variabeln
Alternativt kan det skapade variabelvärdet (i det här exemplet pi) placeras i en lokal variabel enligt följande:
{get_static var=”pi” assign=”variable_name”}
Därefter kan den lokala variabeln användas enligt följande:
{$variable_name}
Exempel på formler
Nedan listas några exempel på dynamiska fältformler och när de vanligtvis ska köras. Formlerna i den här guiden är skrivna med hjälp av färgkodning för att visualisera vilka delar av formeln som med största sannolikhet ersätts för att möta det specifika behovet. Delarna markerade med blått är ID för fälten i modulen och de bör bytas ut för att matcha ID:n för de fält som faktiskt används. Delarna markerade med orange representerar ett värde för ett visst fält. Delarna markerade med rött är variabler som påverkar målfältets slutvärde. Dessa variabler kan till exempel vara ett nummer som innehållet i fältet jämförs med eller ett meddelande som visas för användaren om innehållet i fältet är ogiltigt.
För fler exempel på olika formler, se guiden Exempel på dynamiska fältformler.
Kör på spara
Uppdaterar sannolikheten för potentialen till 100 % om försäljningsstatus ändras till vunnet
{if $sales_stage=='Closed Won'}100{else}{$probability}{/if}
Formeln uppdaterar värdet på sannolikheten i fältet ”sannolikhet” till 100, om statusen för fältet ”sales_stage” är ” Closed Won”. I övrigt görs inga ändringar.
Kör på skapa
Ange ett giltigt till-datum med 14 dagars mellanrum om fältet är tomt
{if $validtill ==''}{assign var='t' value='+ 14 days'|strtotime}{'Y-m-d'|date:$t}{else}{$validtill}{/if}
Formeln kontrollerar om fältet ”validtill” är tomt. Om så är fallet sätter formeln värdet på fältet till ett datum som är 14 dagar efter det aktuella datumet. Om fältet inte är tomt görs inga ändringar.
Kör på visa
Meddela användaren om ett ifyllt fält
{if $passivation_date!= ""}The contact has a passivation date{/if}
Formeln kontrollerar om fältet ”passivation_date” är tomt. Om inte, meddelar den användaren med en informationstext ”Kontakten har ett passiveringsdatum”.
Kör On Validation
Meddelande om en ogiltig landskod
{if $bill_country|count_characters > 2} The country code of the billing country is invalid. Finland = FI, Sweden = SE, Norway = NO and Denmark = DK {/if}
Formeln verifierar längden på den givna landskoden och om längden är mer än två tecken, meddelar den användaren med en varning ”Faktureringslandets landskod är ogiltig…”. Enheten sparas inte.