Identyfikator GUID w szablonach HTML

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2023 R1 i powyżej, autor: Łukasz Maciaszkiewicz

 

Wprowadzenie

Jedną z wielu niezwykle użytecznych funkcjonalności oferowanych przez system WEBCON BPS jest obsługa szablonów HTML, które umożliwiają m.in. generowanie plików PDF bądź HTML, czy też są wykorzystywane przy wysyłaniu konfigurowalnej wiadomości e-mail. W niniejszym artykule opisano sposób identyfikowania atrybutów typu lista pozycji i tabela danych przy pomocy identyfikatora GUID w szablonach HTML wykorzystywanych w akcjach „Generuj plik PDF”, „Generuj wydruk HTML” i „Wyślij konfigurowalny e-mail”.

 

GUID

Numer GUID to alfanumeryczny identyfikator elementu konfiguracyjnego, takiego jak atrybut, obieg bądź proces, którego wartość jest stała i unikalna niezależnie od środowiska, w jakim znajduje się taki element. Cechy te sprawiają, że identyfikator GUID umożliwia łatwe przenoszenie szablonów HTML zawierających elementy identyfikowane za jego pomocą między różnymi środowiskami (DEV/TEST/PROD).

Dotychczas system WEBCON BPS umożliwiał wykorzystanie identyfikatora GUID w szablonach HTML do oznaczania atrybutu typu wiersz danych. Wraz z wersją 2023 R1 możliwość tę rozszerzono na dwa nowe atrybuty: listę pozycji oraz tabelę danych.

Identyfikator GUID atrybutu „Adres dostawy”

 

Wspomniane powyżej szablony HTML w systemie WEBCON BPS są wykorzystywane w trzech następujących akcjach:

  • „Generuj plik PDF”
  • „Generuj wydruk HTML”
  • „Wyślij konfigurowalny e-mail”

 

Akcja administracyjna „Szablon HTML”

Administrator ma możliwość wygenerowania szablonu HTML, w którym podane są znaczniki (tagi) poszczególnych atrybutów formularza i ich elementów. Znaczniki takie można następnie wykorzystać do tworzenia własnego szablonu HTML.

Aby wygenerować wspomniany szablon, należy kliknąć ikonę „Admin” → „Akcje administracyjne” → „Szablon HTML”. Po wygenerowaniu szablonu HTML jest on zapisywany na dysku użytkownika.

Akcja generowania szablonu HTML z poziomu Portalu

 

Szablon HTML wygenerowany za pomocą akcji administracyjnych zawiera znaczniki wszystkich atrybutów formularza i ich elementów (wyróżniono część szablonu odnoszącą się do listy pozycji)

 

Możliwość wygenerowania wspomnianego powyżej szablonu jest bardzo pomocna przy tworzeniu własnych szablonów HTML, ponieważ dostęp do znaczników wszystkich atrybutów danego formularza w jednym miejscu wymiernie skraca czas tworzenia własnego szablonu.

 

Identyfikator GUID w szablonie HTML

Poniżej omówiono ogólne zasady oznaczania atrybutów typu lista pozycji, tabela danych oraz wiersz danych w szablonach HTML za pomocą identyfikatora GUID. Należy mieć na uwadze, że atrybuty innego typu nie mogą być identyfikowane za pomocą identyfikatora GUID.

W przypadku wszystkich trzech atrybutów identyfikator GUID jest wstawiany wewnątrz dedykowanego znacznika (tagu) wskazującego konkretny element danego atrybutu (nagłówek, wiersz, stopkę). (Tekst „GUID” w poniższych przykładach kodu jest docelowo podmieniany identyfikatorem GUID danego atrybutu). 

  • Lista pozycji

Lista pozycji ma postać tabeli składającej się z nagłówka, wiersza i stopki. Każdy z tych elementów jest oznaczany specjalnym znacznikiem, wewnątrz którego wstawiane są elementy składowe takiego elementu.

  • Nagłówek:

Kod HTML części nagłówkowej powinien zawierać nazwy kolumn.

Kod: {SUBELEMHEADERTEMPLATE:GUID} {/SUBELEMHEADERTEMPLATE}

  • Wiersz

Kod części zawierającej wiersze danych musi zawierać znaczniki odpowiadające wartościom poszczególnych kolumn. Znaczniki poszczególnych kolumn można znaleźć w szablonie HTML wygenerowanym w Portalu z poziomu akcji administratorskich.

Kod: {SUBELEMROWTEMPLATE:GUID} {/SUBELEMROWTEMPLATE}

  • Stopka

Kod stopki jest opcjonalny i może zawierać elementy sumujące wartości w kolumnach.

Kod: {SUBELEMFOOTERTEMPLATE:GUID} {/SUBELEMFOOTERTEMPLATE}

 

Przykładowy szablon listy pozycji:

<table>

{SUBELEMHEADERTEMPLATE:f1a398e9-ccf5-45c3-8943-b873f707bd0b}

<tr>

<td>LP</td>

<td>Nazwa</td>

<td>Ilość</td>

<td>Cena jednostkowa</td>

<td>Suma</td>

</tr>

{/SUBELEMHEADERTEMPLATE}

 

{SUBELEMROWTEMPLATE:f1a398e9-ccf5-45c3-8943-b873f707bd0b}

<tr>

<td>{DET_LP}</td>

<td>{DET_Att1}</td>

<td>{DET_Value2}</td>

<td>{DET_Value1}</td>

<td>{DET_Value3}</td>

</tr>

{/SUBELEMROWTEMPLATE}

 

{SUBELEMFOOTERTEMPLATE:f1a398e9-ccf5-45c3-8943-b873f707bd0b}

<tr>

<td></td>

<td></td>

<td></td>

<td>Łącznie: {DET_Value3}</td>

</tr>

{/SUBELEMFOOTERTEMPLATE}

</table>

 

Dokument PDF wygenerowany z szablonu za pomocą akcji „Generuj plik PDF”

Dokument PDF wygenerowany z szablonu HTML utworzonego przez użytkownika (w czerwonej ramce lista pozycji)

 

  • Tabela danych

Podobnie jak lista pozycji atrybut „Tabela danych” posiada nagłówek, wiersz i stopkę.

  • Nagłówek

Kod HTML części nagłówkowej powinien zawierać nazwy kolumn.

Kod: {SQLGRIDHEADERTEMPLATE:GUID} {/SQLGRIDHEADERTEMPLATE}

  • Wiersz

Kod części zawierającej wiersze danych musi zawierać znaczniki odpowiadające wartościom poszczególnych kolumn. Znaczniki poszczególnych kolumn można znaleźć w szablonie HTML wygenerowanym w Portalu z poziomu akcji administratorskich.

Kod: {SQLGRIDROWTEMPLATE:GUID} {/SQLGRIDROWTEMPLATE}

  • Stopka

Kod stopki jest opcjonalny i może zawierać elementy sumujące wartości w kolumnach.

Kod: {SQLGRIDFOOTERTEMPLATE:GUID} {/SQLGRIDFOOTERTEMPLATE}

 

Przykładowy szablon tabeli danych:

<table>

{SQLGRIDHEADERTEMPLATE:c2499ebd-669f-4841-b1ff-b0660118e63a}

<tr>

<td>Nazwa</td>

<td>Ilość</td>

<td>Cena jednostkowa</td>

<td>Suma</td>

</tr>

{/SQLGRIDHEADERTEMPLATE}

 

{SQLGRIDROWTEMPLATE:c2499ebd-669f-4841-b1ff-b0660118e63a}

<tr>

<td>{DET_Att1}</td>

<td>{DET_Value2}</td>

<td>{DET_Value1}</td>

<td>{DET_Value3}</td>

</tr>

{/SQLGRIDROWTEMPLATE}

 

{SQLGRIDFOOTERTEMPLATE:c2499ebd-669f-4841-b1ff-b0660118e63a}

<tr>

<td></td>

<td></td>

<td></td>

<td>Łącznie: {DET_Value3}</td>

</tr>

{/SQLGRIDFOOTERTEMPLATE}

</table>

 

Dokument PDF wygenerowany z szablonu za pomocą akcji „Generuj plik PDF”

Dokument PDF wygenerowany z szablonu HTML utworzonego przez użytkownika (w czerwonej ramce tabela danych)

 

  • Wiersz danych

W przeciwieństwie do omówionych powyżej atrybutów „Wiersz danych” gromadzi dane wyłącznie z jednego wiersza wskazanego przez użytkownika. W tym przypadku, oprócz wstawienia identyfikatora GUID w miejsce tekstu „GUID”, należy także wstawić znacznik kolumny, z jakiej mają być wyświetlane dane, w miejsce tekstu „KOLUMNA”.

Kod: {SQLSELECT:GUID:KOLUMNA}

UWAGA: pominięcie kolumny w kodzie spowoduje wyświetlenie wyłącznie numeru ID wiersza danych.

 

Przykładowy szablon wiersza danych:

{SQLSELECT:93732aa8-2c93-4c00-8db6-6293997a5694:DET_Att1}

 

Dokument PDF wygenerowany z szablonu za pomocą akcji „Generuj plik PDF”

Dokument PDF wygenerowany z szablonu HTML utworzonego przez użytkownika (w czerwonej ramce tabela danych)

 

Podsumowanie

Opisany powyżej sposób identyfikowania atrybutów typu „Lista pozycji”, „Tabela danych” oraz „Wiersz danych” za pomocą identyfikatora GUID niezmiernie ułatwia przenoszenie szablonów pomiędzy różnymi środowiskami (DEV/TEST/PROD) i gwarantuje ich jednolitość.

Warto przy tym nadmienić, że z myślą o zapewnieniu kompatybilności wstecznej nadal wspierany jest wcześniej stosowany sposób identyfikowania atrybutów „Lista pozycji” i „Tabela danych”, tj. identyfikowanie za pomocą numeru ID atrybutu.