Senast uppdaterad: 2025-01-13
Taggsyntax – HTML
I den här artikeln
Texten i HTML-rapporter kan formateras med vanliga HTML-taggar, till exempel <p>text</p> för stycken (paragraph) och <b>text</b> för fetstilt (bold). Mer information finns i https://www.w3schools.com/asp/razor_syntax.asp och https://learn.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-8.0
Taggarna i rapporter av typen HTML utgår från klassen Delivery. Taggar från andra klasser behöver det prefix
som står i kolumnen Klass/prefix i tabellerna i Förteckning över taggar. Prefixet skiljs från taggen med punkt, till exempel Customer.CUS_Name.
Syntax: @Model.prefix.tagg
I det här exemplet, som hämtar ordernumret, behövs inget prefix eftersom DEL_Id ligger i klassen Delivery.
I nedanstående exempel, som hämtar telefonnumret till transportföretaget från kontorsinställningarna, ligger OFF_PhoneNo i klassen Office, som därför måste användas som prefix.
Om du lägger till en tagg i en HTML-rapport med fel prefix, eller stavar fel i taggen, fungerar inte aviseringen och ett felmeddelande om att det inte finns någon rapport visas när aviseringen genereras.
Listor
Vissa objekt kan det finnas många instanser av i en order, till exempel kollin och uppdrag. För att kunna visa information om sådana objekt i rapporten måste du kombinera taggen med en listtagg, så att alla instanser av objektet räknas upp. Resultatet blir en lista med en eller flera poster.
Listan i rapporten kan utformas på olika sätt. Du kan skriva en rubrik för hela listan, eller en beskrivning som upprepas på varje rad. Du kan även kombinera flera taggar som hör till samma lista och på så sätt skapa en lista med till exempel kollinummer och vikt för varje kolli på en order.
Posterna i listan behöver inte vara siffror, utan kan även vara text, till exempel PAC_Text, som returnerar fritextfältet för kollina på en order.
Syntax:
Valfri text
@foreach(var item in Model.listtagg.ActiveItems)
{
<text>Valfri text: @item.tagg</text><br/>
}
Exempel 1
@foreach(var item in Model.Packages.ActiveItems)
{
<text>Kollinr: @item.PAC_PackageId</text><br/>
}
Returnerar listan i följande format
Kollinr: 123456
Kollinr: 356789
Kollinr: 986554
Exempel 2
<b>Kollin</b><br>
@foreach(var item in Model.Packages.ActiveItems)
{
<text>@item.PAC_PackageId</text><br/>
}
Returnerar listan i följande format
Kollin
123456
356789
986554
Exempel 3
<b>Kollin</b><br>
@foreach(var item in Model.Packages.ActiveItems)
{
<text>@item.PAC_PackageId: @item.PAC_Weight kg (@item.PAC_Text)</text><br/>
}
Returnerar listan i följande format
Kollin
123456: 1,200000 kg (Mapp med dokument)
356789: 3,400000 kg (Ömtåligt)
986554: 5,600000 kg (Tillbehör)
Om något av kollina inte har någon godsmärkning visas en tom parentes.
Bilder i listor
Siffror
Tal sparas med sex decimaler i Opter-databasen. Om du vill avrunda till färre än sex decimaler skriver du en formattagg och antalet decimaler som ska visas enligt mönstret 0.00 i taggen som returnerar talet. Antalet nollor efter decimalpunkten bestämmer antalet decimaler.
Om du vill utesluta betydelselösa nollor i slutet av talet (2,7 istället för 2,70), men skriva ut decimalen om det inte är en nolla (2,73), skriver du #-tecken för så många decimaler som du vill visa.
Syntax: @Model.prefix.tagg för numeriskt värde.ToString("0.######")
Exempel 1
<b>Vikt</b><br>
@foreach(var item in Model.Packages.ActiveItems)
{
<text>@item.PAC_Weight.ToString("0.00") kg </text><br/>
}
Returnerar en lista i följande format
Vikt
2,00 kg
2,70 kg
12,74 kg
Exempel 2
<i>Vikt</i><br>
@foreach(var item in Model.Packages.ActiveItems)
{
<text>@item.PAC_Weight.ToString("0.###") kg </text><br/>
}
Returnerar en lista i följande format
Vikt
2 kg
2,7 kg
12,738 kg
Exempel 3
<u>Vikt</u><br>
@foreach(var item in Model.Packages.ActiveItems)
{
<text>@item.PAC_Weight.ToString("00.00") kg </text><br/>
}
Returnerar en lista i följande format
Vikt
02,00 kg
02,70 kg
12,74 kg
Bilder
Du kan lägga in bilder i rapporter, till exempel logotyper som har angetts i kontorsinställningarna.
Syntax: <img src="data:image/png;base64,@(Convert.ToBase64String(Model.prefix.tagg))">
<p>Hej!</p>
<p>Din order från @Model.StartAddress.ADR_AddrLine1 är på väg.</p>
<p>Mvh</p>
<p>
@if (Model.Image != null)
{
<p>
<img src="data:image/png;base64,@(Convert.ToBase64String(Model.Office.OFF_LargeImage))" width="128" height="128"/>
</p>
}
</p>
</body>
</html>
Returnerar
Hej!
Din order från Opter är på väg.
Mvh
Bilder i listor
Om ni vill lägga till bilder från till exempel avvikelser eller leveransbevis, som det kan finnas flera instanser av på en order (se avsnittet ”Listor” ovan), måste du först ta fram listan och sedan kontrollera om det finns en bild för att det ska gå att skicka aviseringen även om det inte finns någon bild.
Syntax:
Valfri text
@foreach(var item in Model.listtagg.ActiveItems)
{
<text>Valfri text: @item.tagg</text><br/>
@if (item.Image != null)
{
<p>
<img src="data:image/png;base64,@(Convert.ToBase64String(Model.Image))">
</p>
}
}
@if (Model.Image != null) kontrollerar om det finns någon bild på avvikelsen (ej lika med ”null”) och sätter in den i mailet om det finns en.
<html>
<body>
<p>Hej @Model.CRE_Name!</p>
<p>Det har registrerats en avvikelse på order @Model.DEL_Id från @Model.ADR_AddrLine1From till @Model.ADR_AddrLine1To.</p>
<p>
Kommentar:<br/>
@foreach(var item in Model.Damages.ActiveItems)
{
<text>@item.DAM_Comment</text><br/>
}
@if (Model.Image != null)
{
<p>
<img src="data:image/png;base64,@(Convert.ToBase64String(Model.Image))" />
</p>
}
</p>
<p>Med vänlig hälsning</p>
<p>@Model.Office.OFF_Name</p>
</body>
</html>
Returnerar
Hej Anton Larsson!
Det har registrerats en avvikelse på order 159 från Opter AB till H&M.
Kommentar:
Föll från lasbryggan.
Med vänlig hälsning
Opter