Catalogus documentsjabloon
Algemeen
Interne documentgenerator LibreOffice
Zaaksysteem.nl heeft een interne documentgenerator van LibreOffice. Dit maakt het mogelijk om geautomatiseerd documenten aan te maken op basis van een sjabloon, zoals bijvoorbeeld een ontvangstbevestiging of beschikking. Documentsjablonen worden centraal in de Catalogus beheerd en worden aan Zaaktypen toegevoegd, zodat deze in zaken gebruikt kunnen worden.
Nieuwe documentsjablonen worden gemaakt door documenten op te maken en deze op te slaan als een ODT-bestand. Je kunt hiervoor LibreOffice gebruiken (indien er geen mogelijkheid is tot het installeren van LibreOffice kan er ook gebruik gemaakt worden van de portable LibreOffice app), maar ook Microsoft Office 2010 kan documenten opslaan in dit formaat.
Een documentsjabloon werkt met ‘magicstrings’. Dit zijn de variabele die verwijzen naar de waarden van Kenmerken binnen een zaak, die het zaaksysteem kan invullen tijdens het genereren van een document.
Externe documentgenerator Xential
Zaaksysteem.nl heeft ook een koppeling met de documentgenerator Xential. Zie voor meer informatie het Koppelprofiel Xential.
Externe documentgenerator StUF-DCR
Zaaksysteem.nl heeft ook een koppeling met de documentgenerator van een StUF-DCR aanbieder, zoals SmartDocuments. Zie voor meer informatie het Koppelprofiel StUF DCR.
Ondersteunde lettertypes
Wanneer van documentsjablonen PDF-documenten gegenereerd worden, of wanneer een document als PDF gekopiëerd worden, vind een conversie plaats. Niet alle lettertypen die ondersteund worden in Microsoft Word of LibreOffice worden ondersteund voor PDF. Zie onderstaand de lijst van ondersteunde lettertypen.
Ondersteunde lettertypen
Arimo:style=Bold Arimo:style=Bold Italic Arimo:style=Italic Arimo:style=Regular Bitstream Charter:style=Bold Bitstream Charter:style=Bold Italic Bitstream Charter:style=Italic Bitstream Charter:style=Regular Caladea:style=Bold Caladea:style=Bold Italic Caladea:style=Italic Caladea:style=Regular Carlito:style=Bold Carlito:style=Bold Italic Carlito:style=Italic Carlito:style=Regular Courier 10 Pitch:style=Bold Courier 10 Pitch:style=Bold Italic Courier 10 Pitch:style=Italic Courier 10 Pitch:style=Regular Cousine:style=Bold Cousine:style=Bold Italic Cousine:style=Italic Cousine:style=Regular DejaVu Math TeX Gyre:style=Regular DejaVu Sans,DejaVu Sans Condensed:style=Condensed DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique DejaVu Sans,DejaVu Sans Light:style=ExtraLight DejaVu Sans Mono:style=Bold DejaVu Sans Mono:style=Bold Oblique DejaVu Sans Mono:style=Book DejaVu Sans Mono:style=Oblique DejaVu Sans:style=Bold DejaVu Sans:style=Bold Oblique DejaVu Sans:style=Book DejaVu Sans:style=Oblique DejaVu Serif,DejaVu Serif Condensed:style=Condensed DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold Italic DejaVu Serif,DejaVu Serif Condensed:style=Condensed Italic DejaVu Serif:style=Bold DejaVu Serif:style=Bold Italic DejaVu Serif:style=Book DejaVu Serif:style=Italic FreeMono:style=Bold FreeMono:style=Bold Oblique FreeMono:style=Oblique FreeMono:style=Regular FreeSans:style=Bold FreeSans:style=Bold Oblique FreeSans:style=Oblique FreeSans:style=Regular FreeSerif:style=Bold FreeSerif:style=Bold Italic FreeSerif:style=Italic FreeSerif:style=Regular Liberation Mono:style=Bold Liberation Mono:style=Bold Italic Liberation Mono:style=Italic Liberation Mono:style=Regular Liberation Sans:style=Bold Liberation Sans:style=Bold Italic Liberation Sans:style=Italic Liberation Sans:style=Regular Liberation Serif:style=Bold Liberation Serif:style=Bold Italic Liberation Serif:style=Italic Liberation Serif:style=Regular OCRABold:style=Bold OCRACondensed:style=Condensed OCRAItalic:style=Italic OCRA:style=Medium OCRBE:style=InvertedSharp OCRBF:style=Outline OCRBS:style=Sharp OCRB:style=Oblique OCRB:style=Regular OCRBX:style=Inverted OpenSymbol:style=Regular TeX Gyre Adventor:style=Bold TeX Gyre Adventor:style=Bold Italic TeX Gyre Adventor:style=Italic TeX Gyre Adventor:style=Regular TeX Gyre Bonum Math:style=Regular TeX Gyre Bonum:style=Bold TeX Gyre Bonum:style=Bold Italic TeX Gyre Bonum:style=Italic TeX Gyre Bonum:style=Regular TeX Gyre Chorus:style=Regular TeX Gyre Cursor:style=Bold TeX Gyre Cursor:style=Bold Italic TeX Gyre Cursor:style=Italic TeX Gyre Cursor:style=Regular TeX Gyre DejaVu Math:style=Regular TeX Gyre Heros Cn:style=Bold TeX Gyre Heros Cn:style=Bold Italic TeX Gyre Heros Cn:style=Italic TeX Gyre Heros Cn:style=Regular TeX Gyre Heros:style=Bold TeX Gyre Heros:style=Bold Italic TeX Gyre Heros:style=Italic TeX Gyre Heros:style=Regular TeX Gyre Pagella Math:style=Regular TeX Gyre Pagella:style=Bold TeX Gyre Pagella:style=Bold Italic TeX Gyre Pagella:style=Italic TeX Gyre Pagella:style=Regular TeX Gyre Schola Math:style=Regular TeX Gyre Schola:style=Bold TeX Gyre Schola:style=Bold Italic TeX Gyre Schola:style=Italic TeX Gyre Schola:style=Regular TeX Gyre Termes Math:style=Regular TeX Gyre Termes:style=Bold TeX Gyre Termes:style=Bold Italic TeX Gyre Termes:style=Italic TeX Gyre Termes:style=Regular Tinos:style=Bold Tinos:style=Bold Italic Tinos:style=Italic Tinos:style=Regular
Iteratie
Iteratie zorgt ervoor dat informatie voor de magicstrings niet uit de zaak zelf wordt opgehaald, maar uit alle Gerelateerde zaken. Dit kan vervolgens op drie manieren worden weergegeven:
- Inline itereren: Op één regel, gescheiden door <komma><spatie>
- Tekstblok newline itereren: Een tekstblok dat geïtereerd wordt voor elke gerelateerde zaak, gescheiden door <enter>
- Tabel itereren: Eén tabelrij itereren om één tabel te vormen met informatie uit de gerelateerde zaken
Let op: De iteratie moet direct naar de gewenste waarde verwijzen. Iteratie kan geen magicstrings in magicstrings of iteratie in iteratie verwerken.
Inline
Input | Output | |
---|---|---|
Gerelateerde zaken | De volgende zaken zijn verwerkt: [[iterate:case.related_cases:zaaknummer]]. |
De volgende zaken zijn verwerkt: 2462, 2463, 2465, 2467. |
Deelzaken | De volgende zaken zijn verwerkt: [[iterate:case.child_cases:zaaknummer]]. |
De volgende zaken zijn verwerkt: 2462, 2463, 2465, 2467. |
Let op: Er kan slechts één actie per magicstring uitgevoerd worden. Het is daarom niet mogelijk om inline te itereren én kenmerkformatting toe te passen.
Newline
In de sjablonen kan een tabellenrij herhaald worden voor elk van de gerelateerde of deelzaken die de zaak heeft.
Let op: De iteraties worden gescheiden door een return (enter). |
Tabel
In de sjablonen kan een tekstblok herhaald worden voor elk van de gerelateerde of deelzaken die de zaak heeft.
Tabellen hebben over het algemeen een titelrij, maar omdat een itererende tabel uit maar één rij mag bestaan kan deze niet in dezelfde tabel opgenomen worden. De oplossing is eenvoudig: Maak twee tabellen van elk één rij; één voor de titels en één voor de iteratie. Plak deze vervolgens tegen elkaar door de enters ertussen uit te verwijderen. Iteraties filterenIn sommige gevallen is het niet wenselijk dat alle zaken worden meegenomen bij de iteratie. Daarom kan er aan een iteratie een voorwaarde meegegeven worden, zodat enkel zaken die aan die voorwaarde voldoen geïtereerd worden. iterate case.related_cases { case.casetype.name == "Vergadering" } iterate case.related_cases { mor_categorie == "Afval" } Zie voor de mogelijke vergelijkingen: Rekenen en Vergelijkingen
|
Variabele teksten
In de sjablonen kan een gedeelte van het sjabloon afhankelijk van een waarde in de zaak getoond of verborgen worden.
Mogelijke vergelijkingenZie voor de mogelijke vergelijkingen: Rekenen en Vergelijkingen of Rekenen en vergelijkingen uitgebreid Voorbeeld
|
Variabele newline iteratie
Newline iteratie en variabele teksten maken beide gebruik van secties met daarin een zttscript. Het is daarom mogelijk om deze te combineren met het volgende script:
show_when { voorbeeld_magicstring == "voorbeeld_waarde" } iterate case.child_cases
Let op: De volgorde is hier van belang. In het bovenstaande voorbeeld wordt eerst gekeken of het iteratie blok opzich getoond moet worden, en wordt vervolgens pas de iteratie uitgevoerd. Zou de volgorde van de instructies omgedraaid zijn wordt eerst een volledige iteratie gedaan, en wordt het originele tekstblok verborgen. Effectief houd dit in dat er altijd geïtereerd wordt.
Let op: Dit is niet hetzelfde als Iteraties filteren. De magicstrings in de 'show_when'-voorwaarde verwijzen naar de zaak zelf en niet naar de gerelateerde en/of deelzaken.
Tips
Paginaovergang
Door variabele tekstblokken te gebruiken is het vrijwel onmogelijk om een paginaovergang goed in te richten. De paginaovergang zal vaak erg lelijk zijn: titel en tekst gescheiden, tabellen in tweeën geknipt, etc. De oplossing hiervoor is om deze teksten in frames te zetten. Deze frames kunnen niet over meerdere pagina's heen vallen en een paragraaf zal daarom netjes als één geheel naar de volgende pagina springen.
Het beste resultaat kan bereikt worden door deze frames:
|