Kalkylerat värde |
Rulla Föregående Upp Nästa Mer |
Den här typen av etikett hämtar data från andra fält.
Data matas inte in av användaren till ett kalkylerat värde. Värdet på fältet räknas fram utifrån andra fält efter en formel som konfigureras för etiketten. Värdet kan bestå av andra fält, konstanter och resultatet av andra formler eller funktioner. Det fungerar för artiklar, dokument, objekt och informationsobjekt.
Det kalkylerade värdet visas i en vanlig textruta. Via variabeln CALCULATED_MULTILINE kan man ställa in att avända ett textfält med flera rader istället.
Det är möjligt att hämta information från relaterade entiteter. Huvudmapp och projekt är tillgängligt för alla kalkylerade värden. Ett kalkylerat värde på ett dokument kan hämta data från objekt som är relaterade till dokumentet som gemensamma beteckningar. Ett objekt kan komma åt data från sitt föräldraobjekt och sin huvudartikel. Båda objekt och artiklar kan använda kategoridata.
Själva kalkyleringen sker när entiteten med det kalkylerade värdet sparas. Data trycks inte ut från relaterade entiteter när de ändras.
Ex. Ett dokument har ett kalkylerat värde som använder data från huvudmappen. Om det värde som används på huvudmappen ändras måste dokumentet sparas igen för att dess kalkylerade värde ska reflektera ändringarna på huvudmappen.
Hur man skapar en etikett av den är typen:
1)Börja med att skapa en ny etikett och sätt dess typ till "Kalkylerat värde".
2)Sätt benämning till vad texten i kolumnen ska vara.
3)Ange formeln för kalkylen i Formatfält.
Det går att mixa text och värden från andra fält och värden från relaterade entiteter. När man hämtar värden från samma entitet som etiketten sitter på anger man namnet på databasfältet mellan mindre än och större än. Ex. <FREE01>
Se exempel längre ner för hur man hämtar värden från relaterade entiteter.
Ett exempel på en formel för ett dokument: <MAINFOLDER.DENOM1>:<FREE20>-<COMMONA.REM1>
Detta skulle hämta en benämning från huvudmappen, sedan ett frifält från dokumentet separerat med ett kolon. Och till sist ett bindestreck följt av en anmärkning från ett relaterat objekt.
4)Om så önskas kan man lägga till en formatering till formeln. Det finns tre varianter: Databasfunktion, Reguljärt uttryck - Matchning och Reguljärt uttryck - Matcha/Ersätt. Formatering är valfritt, om man inte vill ha formatering av värdet så lämnar man formateringstyp och formateringsfunktion blankt.
- Databasfunktion är en programmerad funktion som ligger i databasen. Man konfigurerar detta genom att välja Databasfunktion i Formateringstyp och anger funktionens namn i Formateringsfunktion. Ex. Paketnamn.Funktionsnamn. Funktionen måste göras och läggas in i databasen separat. Det går inte att göra från konfigurationsdialogen.
- Reguljärt uttryck - Matchning låter dig formatera resultatet av formeln med en matchning med ett reguljärt uttryck. För att konfigurera detta välj Reguljärt uttryck - Matchning i Formateringstyp och ange uttrycket i Formateringsfunktion. Uttrycket appliceras på resultatet av formeln som angetts i Formatfält och allt som träffas blir det slutgiltiga resultatet.
Ex. Formatfältet innehåller en IEC-beteckning. Man konfigurerar uttrycket "(?<=[.]).+$". Resultatet skulle ta bort den första nivån i beteckningen. +SA1.A1.K3 skulle bli A1.K3.
- Reguljärt uttyck - Matcha/Ersätt är även det formatering med hjälp av reguljära uttryck men ger mer möjligheter än bara matchning. Man kan göra flera operationer efter varandra och kan förutom att matcha även byta ut och ta bort text. Det konfigureras genom att välja Reguljärt uttryck - Matcha/Ersätt i Formateringstyp och ange de reguljära uttryck(en) i formateringsfunktion i ett särskilt format som separerar de olika uttrycken. Mer information om detta längre ner på sidan.
5)Kryssa i Skrivskyddad eller skriv över för att skapa en etikett som inte kan redigeras manuellt eller som skrivs över av kalkyleringen vid sparning. Om ingen av dessa är ikryssad kan etiketten redigeras manuellt och värdet varken kalkyleras eller kalkyleras om såvida inte fältet är tomt.
Konfigurationsdialog
Relaterade entiteter i formatfält
Det går att hämta in data från relaterade entiteter i ett kalkylerat värde. Huvudmapp, projekt, gemensam beteckning, artikel, föräldraobjekt och kategori är de entiteter man kan hämta data från.
Man anger databasfältet mellan mindre än och större än på samma sätt som för entiteten som etiketten sitter på. Men man lägger till ett prefix följt av punkt för att tala om att det är en relaterad entitet av något slag. Nedan finns en lista över de entiteter som kan användas med exempel på hur de används.
•Huvudmapp
- Kontext: Artiklar, dokument, objekt och informationsobjekt
- Prefix: MAINFOLDER
- Exempel: <MAINFOLDER.FREE01>
•Projekt
- Kontext: Artiklar, dokument, objekt och informationsobjekt
- Prefix: PROJECT
- Exempel: <PROJECT.FREE01>
•Gemensam beteckning
- Kontext: Dokument
- Prefix: COMMONA - COMMONG
- Exempel: <COMMONB.DENOM1>
•Föräldraobjekt
- Kontext: Objekt
- Prefix: OBJA - OBJG
- Exempel: <OBJB.REM1>
•Huvudartikel
- Kontext: Objekt
- Prefix: ARTICLE
- Exempel: <ARTICLE.KEYB01>
•Kategoridata
- Kontext: Objekt och artiklar.
- Prefix: CATEGORY
- Exempel: <CATEGORY.DENOM>
Reguljärt uttryck - Matcha/Ersätt
Formatet för att konfigurera reguljära uttryck för det avancerade alternativet är ett XML-liknande format med element för att ange serier av separata uttryck som utförs i den ordning de kommer i konfigurationen.
Regex-elementet omsluter ett utryck och består av två obligatoriska element och ett valbart:
- Type-elementet talar om vilken typ av operation det är. Det kan ha värdet MATCH, REPLACE eller REMOVE för att använda uttrycket för att match eller byta ut text. REMOVE är identiskt med REPLACE med tomt värde som utbyte.
- Pattern-elementet är uttrycket som ska användas. Detta är obligatoriskt och får inte vara tomt.
- Replacement-elementet är inte obligatoriskt. Det talar om var som ska stoppas in i texten vid en REPLACE-operation. Tom sträng används om man konfigurerat Type till REPLACE och har utelämnat Replacement-elementet. Det har ingen funktion om Type inte är REPLACE.
Det går att ha en eller flera Regex-element i konfigurationen. Mellanslag, radbyten, tabbar och andra blanktecken mellan element ignoreras, samt felstavade element och element där obligatoriska underelement saknas.
Detta är ett exempel på en korrekt konfiguration:
<Regex>
<Type>REPLACE</Type>
<Pattern>[-]</Pattern>
<Replacement>:</Replacement>
</Regex>
<Regex>
<Type>MATCH</Type>
<Pattern>=[^:]+|[:]|[^:]+$</Pattern>
</Regex>
<Regex>
<Type>REMOVE</Type>
<Pattern>^[+]</Pattern>
</Regex>