




Dotyczy wersji 8.3 wzwyż; Autorzy: Artur Chac i Kamil Nędza
Wysyłanie wartości z listy pozycji w emailu wysłanym z Workflow (pomocne np. w obiegach Zamówień) jest proste i sprowadza się do:
– zbudowania kawałka html,
– dodania odnośników (zmiennych) do odpowiednich pól w bazie.
– wklejenia zbudowanego html’a do akcji „Wyślij konfigurowalny email”.
Aby przystąpić do dalszej pracy potrzebujemy:
- ID listy pozycji,
- nazwy bazodanowe kolumn z listy pozycji,
- podstawową znajomość budowy tabel w html.
Konfiguracje przeprowadzę na przykładzie listy pozycji “Zamówienia”.
Moja lista pozycji “Zamówienia” z poziomu formularza Workflow:
Widok listy pozycji “Zamówienia” z poziomu WEBCON BPS Designer Studio (zaznaczono ID listy pozycji):
Szczegóły kolumny „Nazwa” (zaznaczono nazwę bazodanową):
Szczegóły kolumny „Kategoria” (zaznaczono nazwę bazodanową):
Szczegóły kolumny „Wartość” (zaznaczono nazwę bazodanową):
1. Budujemy prostą tabele w HTML (pisząc kod ręcznie lub korzystając z dowolnego kreatora HTML). Można również posłużyć się poniższym kodem i dostosować kolumny wg upodobań 🙂
Kod HTML:
<TABLE style="BORDER-TOP-COLOR: gray; BORDER-LEFT-COLOR: gray; BORDER-BOTTOM-COLOR: gray; MARGIN-TOP: 5px; BORDER-RIGHT-COLOR: gray" cellSpacing=0 cellPadding=4 width=460 border=1>
<TBODY>
<TR style="FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: black">
<TD>Nazwa</TD>
<TD>Kategoria</TD>
<TD>Wartość</TD>
</TR>
<TR style="FONT-WEIGHT: bold">
<TD></TD>
<TD>Suma:</TD>
<TD>zł</TD></TR>
</TBODY>
</TABLE>
Wygląd tabeli:
2. Do naszej tabeli w html dodajemy zmienne odnoszące się do listy pozycji (zaznaczone kolorem) oraz zmienne kolumn (zaznaczone kolorem).
Kod HTML:
<TABLE style="BORDER-TOP-COLOR: gray; BORDER-LEFT-COLOR: gray; BORDER-BOTTOM-COLOR: gray; MARGIN-TOP: 5px; BORDER-RIGHT-COLOR: gray" cellSpacing=0 cellPadding=4 width=460 border=1>
<TBODY>
<TR style="FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: black">
<TD>Nazwa</TD>
<TD>Kategoria</TD>
<TD>Wartość</TD>
</TR>
<!– Otwarcie sekcji listującej dane z listy pozycji 'Zamówienia'; ID listy pozycji 'Zamówienia' –>
{SUBELEMROWTEMPLATE:464}
<TR>
<TD>{DET_Att1}</TD>
<TD>{DET_Att2}</TD>
<TD>{DET_Value1}</TD></TR>
<!– zamknięcie sekcji listującej dane z listy pozycji –>
{/SUBELEMROWTEMPLATE}
<!– Otwarcie sekcji stopki listy pozycji 'Zamówienia'; ID listy pozycji 'Zamówienia' –>
{SUBELEMFOOTERTEMPLATE:464}
<TR style="FONT-WEIGHT: bold">
<TD></TD>
<TD>Suma:</TD>
<TD>{DET_Value1} zł</TD></TR>
<!– zamknięcie sekcji stopki listy pozycji 'Zamówienia' –>
{/SUBELEMFOOTERTEMPLATE}
</TBODY>
</TABLE>
Wygląd tabeli:
3. HTML z pkt. 2 wklejamy w konfiguracje akcji „Wyślij konfigurowalny email”, w zakładce „Treść wiadomości”.
4. Gotowe! Poniżej zrzut wiadomości email wg powyższej konfiguracji
Powyższy artykuł działa dla jednej listy pozycji.
Gdyby Państwo potrzebowali odwołać się do kilku list pozycji proponuje rozwiązanie z użyciem {SUBELEMHEADERTEMPLATE}.
Poniżej zamieszczam przykładowy kod html działający dla dwóch list pozycji
Na jego przykładnie można tworzyć uniwersalny szablon z odpowiadającą nam ilością list pozycji
<meta name="ProgId" content="SharePoint.WebPartPage.Document" />
<meta name="Microsoft Theme" content="Lacquer 1011, default" /><form id="form1" runat="server" />
<b>Lista 1</b>
<br />
<table style="border-top-color: gray; border-bottom-color: gray; border-right-color: gray; border-left-color: gray" cellspacing="0" cellpadding="4" width="760" border="1">
<tbody>
<tr>
{SUBELEMHEADERTEMPLATE:108}
<th>LP</th>
<th>tekst1</th>
<th>liczba</th>
<th>tekst2</th>
{/SUBELEMHEADERTEMPLATE}
{SUBELEMROWTEMPLATE:108}
</tr>
<tr>
<td>{DET_LP}</td>
<td>{DET_Att1}</td>
<td>{DET_Value1}</td>
<td>{DET_Att2}</td>
</tr>
{/SUBELEMROWTEMPLATE}
</tbody>
</table>
<b>Lista2</b>
<br />
<table style="border-top-color: gray; border-bottom-color: gray; border-right-color: gray; border-left-color: gray" cellspacing="0" cellpadding="4" width="760" border="1">
<tbody>
<tr>
{SUBELEMHEADERTEMPLATE:109}
<th>LP</th>
<th>tekst1</th>
<th>liczba</th>
<th>tekst2</th>
{/SUBELEMHEADERTEMPLATE}
{SUBELEMROWTEMPLATE:109}
</tr>
<tr>
<td>{DET_LP}</td>
<td>{DET_Att1}</td>
<td>{DET_Value1}</td>
<td>{DET_Att2}</td>
</tr>
{/SUBELEMROWTEMPLATE}
</tbody>
</table>
</form>