📋 Szablon PDF
🛠️ Opcje Edycji Treści Szablonu PDF
System oferuje dwa tryby edycji, z których każdy ma inne możliwości integracji z danymi systemowymi:
- Edytor HTML (Wizualny) - jest to edytor wizualny, który ułatwia tworzenie podstawowej struktury dokumentu.
- Edytor Tekstowy - umożliwia pełne wykorzystanie języka Razor w treści HTML. Jest to tryb dla zaawansowanych użytkowników.
Edytor HTML
Wstawianie Danych Dynamicznych i Kodu
Aby dodać kod źródłowy, należy kliknąć Narzędzia -> Kod źródłowy i edytować go bezpośrednio.
Zaleca się kopiowanie kodu do zewnętrznego edytora w celu większej wygody korzystania, podczas edycji kodu.
Pętle
W Edytorze HTML nie można stosować standardowych konstrukcji Razor (np. @if, @foreach). Zamiast tego, do tworzenia pętli (np.: wierszy tabeli, pozycji na liście) używa się atrybutów data-array i data-for.
Przykład wiersza tabeli w powtarzającymi się elementami:
<tr data-for="item" data-array="@Model">
<td style="text-align: center;">@item._83_Text2</td>
<td style="text-align: center;">@item._status</td>
</tr>
data-for="item": Definiuje zmienną iteracyjną (item).data-array="@Model": Wskazuje na kolekcję danych systemowych do iteracji.@item._status: Odwołuje się do konkretnego pola w bieżącym elemencie pętli, w tym przykładzie status.
Przykład tworzenia listy dla każdego elementu z pola:
<ul data-for="el" data-array="@item._83_Contractor1">
<li>@el.Id</li>
<li>@el.Name</li>
</ul>
Ograniczenia Warunków (If)
Wizualny edytor wycina standardowe konstrukcje warunkowe Razor (np.: >, {,},&). Warunki można tworzyć tylko w prostej formie.
Przykład sprawdzenia, czy sygnatura ma wartość:
@(@Model?._SignatureInternal == null ? "Brak numeru dokumentu" : "Dokument ma numer")
Edytor Tekstowy (Zaawansowany)
Edytor pozwala pisać pełny kod HTML i zapewnia pełną obsług ę Razor - dostępne są wszystkie konstrukcje Razor.
Uwaga: Atrybuty data-array i data-for (opisane wyżej) nie działają w trybie edytora tekstowego.
Przykład warunku (if):
@if (Model.KluczPola == "Wartość")
{
<p>Ten tekst pokaże się, jeśli warunek jest spełniony.</p>
}
Pętla ForEach:
<table>
<thead>
<tr><th>Kolumna 1</th><th>Kolumna 2</th></tr>
</thead>
<tbody>
@foreach (var item in Model.ListaElementow)
{
<tr>
<td>@item.Pole1</td>
<td>@item.Pole2</td>
</tr>
}
</tbody>
</table>
Dodatkowe dokumenty
W przypadku generowania eksportów typu PDF, możliwe jest dołączenie na początku wygenerowanego pliku, załącznika/dokumentu pdf.
W tym celu należy zaznaczyć w konfiguracji opcję w Dodaj dokument, a następnie wybrać pole z załącznikiem.
❓ FAQ - Szablony dokumentów PDF
🔹 Jak wyświetlić datę w formacie Dzień Miesiąc Rok?
W celu wyświetlenia daty w formacie dzień miesiąc rok należy zastosować metodę ToString podając w argumencie format konwersji daty np.:@Model._1_Date1?.ToString("dd.MM.yyyy").
🔹 Jak wyświetlić wartość z pola wyboru (LogitoChoice)?
W celu wyświetlenia wartości pola jednokrotnego wyboru należy zastosować następującą konstrukcję: np.: @Model._31_LogitoChoice1?[0]?.Value.