Sist oppdatert: 2025-03-31

Syntaks - HTML-reports

Teksten i HTML-rapporter kan formateres ved hjelp av standard HTML-tagger, for eksempel <p>tekst</p> for avsnitt og <b>tekst</b> for fet skrift. Mer informasjon er tilgjengelig i https://www.w3schools.com/asp/razor_syntax.asp og https://learn.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-8.0.

Taggene i rapporter av type HTML tar utgangspunkt i klassen Delivery. Tagger fra andre klasser trenger prefikset

som står i kolonnen Klasse/prefiks i tabellene i Förteckning över taggar. Prefikset skilles fra taggen med et punktum, for eksempel Customer.CUS_Name.

Syntaks: @Model.prefix.tagg

I dette eksempelet, som henter ordrenummeret, trengs det ikke prefiks, siden DEL_Idligger i klassen Delivery.

@Model.DEL_Id

I eksempelet nedenfor, som henter telefonnummeret til transportfirmaet fra kontorinnstillingene, ligger OFF_PhoneNo i klassen Office, som derfor må brukes som prefiks.

@Model.Office.OFF_PhoneNo

Hvis du legger til en tagg i en HTML-rapport med feil prefiks eller staver noe feil i taggen, vil ikke meldingen fungere, og det vises en feilmelding om at det ikke finnes en rapport, når meldingen genereres.

Lister

Noen objekter kan det finnes mange instanser av i en ordre, for eksempel kolli og oppdrag. For å kunne vise informasjon om slike objekter i rapporten må du kombinere taggen med en listetagg, slik at alle instanser av objektet blir tatt med. Resultatet blir en liste med én eller flere poster.

Listen i rapporten kan utformes på forskjellige måter. Du kan skrive en overskrift for hele listen eller en beskrivelse som gjentas på hver rad. Du kan også kombinere flere tagger som hører til samme liste, og slik opprette en liste med for eksempel kollinummer og vekt for hver kolli på en ordre.

Oppføringene i listen trenger ikke å være tall, men kan også være tekst, for eksempel PAC_Textsom returnerer fritekstfeltet for pakker på en bestilling.

Syntaks:

Valgfri tekst

@foreach(var item in Model.listekode.ActiveItems)

{

<text>Tekst etter eget valg: @item.merke</text><br/>

}

Eksempel 1

Liste over parsellnumre og en beskrivelse for hver linje.

@foreach(var item in Model.Packages.ActiveItems)
{
   <text>Kollinr: @item.PAC_PackageId</text><br/>
}

Returnerer listen i følgende format.

Kollinr.: 123456

Kollinr.: 356789

Kollinr.: 986554

Eksempel 2

Liste over parsellnumre og en overskrift for hele listen.

<b>Kollin</b><br>
@foreach(var item in Model.Packages.ActiveItems)
{
   <text>@item.PAC_PackageId</text><br/>
}

Returnerer listen i følgende format.

Kolli

123456

356789

986554

Eksempel 3

Liste over kolli-nummer, vekt og godsmerking.

<b>Kollin</b><br>
@foreach(var item in Model.Packages.ActiveItems)
{
   <text>@item.PAC_PackageId: @item.PAC_Weight kg (@item.PAC_Text)</text><br/>
}

Returnerer listen i følgende format. Hvis et av kolliene ikke har godsmerking, vises en tom parentes.

Kolli

123456: 1,200000 kg (mappe med dokumenter)

356789: 3,400000 kg (skjørt)

986554: 5,600000 kg (tilbehør)

Bilder i lister

Se nedenfor.

Tall

Tall lagres med seks desimaler i Opter-databasen. Hvis du vil avrunde til færre enn seks desimaler, skriver du inn en formatkode og antall desimaler som skal vises i henhold til mønsteret 0.00 i taggen som returnerer tallet. Antall nuller etter desimaltegnet bestemmer antall desimaler.

Hvis du vil unngå unødvendige nuller i slutten av tallet (2,7 i stedet for 2,70), men skrive ut desimalen hvis det ikke er en null (2,73), skriver du et #-tegn for så mange desimaler som du vil vise.

Syntaks: @Model.prefix.tagg för numeriskt värde.ToString("0.######")

Eksempel 1

Alltid to desimaler, uansett om de har en verdi eller ikke.

<b>Vikt</b><br>
@foreach(var item in Model.Packages.ActiveItems)
{
   <text>@item.PAC_Weight.ToString("0.00") kg </text><br/>
}

Returnerer en liste i følgende format.

Vekt

2,00 kg

2,70 kg

12,74 kg

Eksempel 2

Viser opptil tre desimaler hvis de har en verdi.

<i>Vikt</i><br>
@foreach(var item in Model.Packages.ActiveItems)
{
   <text>@item.PAC_Weight.ToString("0.###") kg </text><br/>
}

Returnerer en liste i følgende format.

Vekt

2 kg

2,7 kg

12,738 kg

Eksempel 3

Alltid tosifrede hele tall og to desimaler.

<u>Vikt</u><br>
@foreach(var item in Model.Packages.ActiveItems)
{
   <text>@item.PAC_Weight.ToString("00.00") kg</text><br/>
}

Returnerer en liste i følgende format.

Vekt

02,00 kg

02,70 kg

12,74 kg

Bilder

Du kan legge inn bilder i rapporter, for eksempel logotypene som er angitt i kontorinnstillingene.

Syntaks: <img src="data:image/png;base64,@(Convert.ToBase64String(Model.prefix.tagg))">

Følgende henter det store bildet fra kontorinnstillingene.

<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>

Returnerer følgende.

Hei!

Din ordre fra Opter er på vei.

Mvh

 

Bilder i lister

Hvis du vil legge til bilder fra for eksempel avvik eller leveringsbevis, som det kan være flere forekomster av på en ordre (se avsnittet "Lister" ovenfor), må du først hente listen og deretter sjekke om det finnes et bilde for å kunne sende varselet selv om det ikke finnes noe bilde.

Syntaks:

Valgfri tekst

@foreach(var item in Model.listekode.ActiveItems)

{

<text>Tekst etter eget valg: @item.merke</text><br/>

@if (item.Bilde != null)

{

<p>

<img src="data:image/png;base64,@(Convert.ToBase64String(Model.Bilde))">

</p>

}

}

@if (item.Image != null) (linje 14) sjekker om det finnes et bilde av avviket (ikke lik "null") og setter det inn i e-posten hvis det finnes et.

<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 (item.Image != null)
          {
           <p>
                <img  src="data:image/png;base64,@(Convert.ToBase64String(item.Image))" />
          </p>
          }    
     
    }
</p>

<p>Med vänlig hälsning</p>
<p>@Model.Office.OFF_Name</p>

</body>
</html>

Returnerer følgende.

Hei, Anton Larsson!

Det er registrert et avvik på ordre 159 fra Opter AB til H&M.

Kommentar:

Fall fra lasterampen..

Med vennlig hilsen

Opter

Se også