Senast uppdaterad: 2025-01-13

Taggsyntax – HTML

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.

Exempel
@Model.DEL_Id

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.

Exempel
@Model.Office.OFF_PhoneNo

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

Lista med kollinummer och en beskrivning för varje rad
@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

Lista med kollinummer och en överskrift för hela listan
<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

Lista med kollinummer, vikt och godsmärkning
<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

Visar alltid två decimaler oavsett om de har ett värde eller inte
<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

Visar upp till tre decimaler om de har ett värde
<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

Visar alltid tvåställiga heltal och två decimaler
<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))">

Hämtar den stora bilden från kontorsinställningarna
<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.

Lista med avvikelser och bilder
<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

Se även