Niektóre zmienne są dostępne z opcjami formatowania, które umożliwiają określenie formatu danych wyjściowych.
Opcja formatu daty umożliwia określenie, z jakiego formatu będą wyprowadzane daty.
{variable | date:'format'}Gdzie variable jest jedną ze zmiennych i format określa format daty. Na przykład:
{rfq.createdAt | date:'MM DD, YYYY'}Zobacz Moment.js, aby uzyskać więcej formatów daty.
Opcja formatu logicznego umożliwia użycie operatora logicznego do wyprowadzenia tekstu niestandardowego.
{variable | bool:'true value': 'false value': 'N/A value'}Gdzie variable jest jedną ze zmiennych. Na przykład:
{rfq.properties['is approved'] | bool:'Y': 'N'}
{rfq.properties['is approved'] | bool:'GOOD': 'BAD': 'NA'}Utwórz pole wyboru dla atrybutów niestandardowych, na przykład:
{rco.properties["checkbox3-1"]| bool : “☒”:”☐”}Opcja formatu liczb umożliwia określenie formy danych wyjściowych numerycznych.
{variable | number:'decimal points': 'group separator': 'fraction separator'}Gdy variable jest jedną ze zmiennych, decimal points określa liczbę miejsc po przecinku po separatorze ułamków, group separator określa symbol, który ma być użyty jako separator grup, fraction separator określa symbol, który ma być użyty jako separator ułamków, na przykład:
{rco.approved | number:'2': ',': '.'}zwraca liczbę taką jak 10,050,89.
Można dodać zapisaną walutę do zmiennych formatu liczb, używając formatu writtenCurrency:'USD'. Na przykład:
{contract.awarded | writtenCurrency:'USD'}gdzie można zastąpić USD rzeczywistą walutą udzielonego zamówienia.
Funkcje matematyczne i zaokrąglanie można stosować do zmiennych w dokumentach. Wszystkie operacje dodawania, odejmowania, mnożenia i dzielenia są obsługiwane.
Przykłady:
{rfq.approved | add: 1}
{rfq.approved | minus: 2}
{rfq.approved | multiply: 1.13}
{rfq.approved | divide: 1.1}Przykład matematyczny i zaokrąglania:
{rfq.approved | divide: 1.5 | rounding: '0.1': 'half-up'}Można również tworzyć bardziej zaawansowane zmienne matematyczne, które mogą być przydatne podczas pracy z szablonami dokumentów dla wniosków o płatność. Na przykład:
| zmienne | Opis |
| { previousQuantity | dodaj: ilość | zaokrąglenie: '0.01': 'pół-do-góry' } | Zwraca sumę do daty ilości wniosku o płatność |
| { previousQuantity | dodaj: ilość | zaokrąglenie: '0.01': 'pół-do-góry' } | Zwraca sumę do daty Kwota wniosku o płatność |
| { płatność.lineView.totalPreviousKwota | dodaj: płatność.lineView.totalKwota | zaokrąglenie: "0.01": "połowa" } | Zwraca całkowitą kwotę całkowitą wniosku o płatność |
Opcje formatu tekstu umożliwiają sterowanie wielkością litre tekstu wyjściowego przez zmienną.
{variable | case}Gdzie variable jest jedną ze zmiennych i case reprezentuje jedną z następujących:
uppercaselowercasecapitalizetitlecaseNa przykład:
{owner.name | uppercase}Zwraca nazwę firmy właściciela we wszystkich wersjach.
Opcja formatu złożonego umożliwia połączenie dwóch innych formatów.
{variable | format1 | format2}Gdzie variable jest jedną ze zmiennych, a format1 i format2 reprezentują dwie różne opcje formatu z powyższych. Na przykład:
{rco.approved | written | uppercase}Po utworzeniu listy lub kolekcji danych można posortować je w kolejności rosnącej (asc) lub malejącej (desc) według numerów.
Użyj następującego formatu:
{#variable | sortBy:'number':'order'} {/variable | sortBy:'number':'order'}Na przykład:
{#oco.pco | sortBy:'number':'asc'} {/oco.pco | sortBy:'number':'asc'}Z wygenerowanych dokumentów można usunąć rozszerzenie pliku. Przykładowo, jeśli używana jest zmienna {{{-w contract.exhibits}{targetName}{/contract.exhibits}}}, może ona zawierać rozszerzenie .docx lub .pdf nazwy pliku w wygenerowanym dokumencie.
Jeśli wszystkie pliki są w formacie .docx, rozszerzenie można usunąć za pomocą funkcji trimEnd:
{targetName | trimEnd:'.docx'}Jeśli istnieją pliki .docx i .pdf, które mają zostać usunięte z obu rozszerzeń, można połączyć w łańcuch funkcję trimEnd w następujący sposób:
{targetName | trimEnd:'.docx' | trimEnd:'.pdf'}Funkcja split umożliwia rozdzielenie ciągu na różne części w oparciu o określony znak lub zestaw znaków, zwany również separatorem.
Oto przykład:
{ number | split:'-' | get:'1' }To polecenie spowoduje podzielenie ciągu przechowywanego w zmiennej number przy każdej -, a następnie pobranie drugiej części ciągu dzielonego (ponieważ licznik rozpoczyna się od 0).
Załóżmy, że zmienna number zawiera ciąg "1.1-001-ABC 01-CD EF 00FF-1.9G". Poniżej przedstawiono, co zwróci każde polecenie get:
get:'0': 1.1get:'1': 001get:'2': ABC 01get:'3': CD EF 00FFget:'4': 1.9GAlternatywnie można użyć funkcji slice lub polecenia last, aby wyodrębnić części ciągu:
{sco.number | slice':-3'}.{sco.number | split:'-' | last}, aby pobrać ostatnią część podzielonego ciągu.