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 wordt, vindt een conversie plaats. In verband met (auteurs-)rechten op lettertypes kunnen niet alle lettertypes gebruikt worden bij deze conversie. Voor de meest voorkomende standaard-lettertypes zijn "compatible" vervangers aanwezig.
Indien je gebruik maakt van andere lettertypen is het van belang dat je deze lettertypen ook configureert in de instellingen van Libre office writer. Als je dit niet doet kan het voorkomen dat delen van het sjabloon in een andere lettertype worden weergegeven. Volg hiervoor de volgende stappen:
1. Open Libre office
2. Ga naar het menu 'Libre office'
3. Kies voor 'preferences' (voorkeuren)
4. Klap het menu 'Libre office writer' open
5. Kies voor 'Basis fonts' (standaard lettertypen)
6. Selecteer je gewenste lettertypen
7. Sla de instellingen op
[Uitvouwen]
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,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 Mono:style=Bold
DejaVu Sans Mono:style=Bold Oblique
DejaVu Sans Mono:style=Book
DejaVu Sans Mono:style=Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
DejaVu Sans,DejaVu Sans Light:style=ExtraLight
DejaVu Sans:style=Bold
DejaVu Sans:style=Bold Oblique
DejaVu Sans:style=Book
DejaVu Sans:style=Oblique
DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold Italic,Bold Italic
DejaVu Serif,DejaVu Serif Condensed:style=Condensed Bold,Bold
DejaVu Serif,DejaVu Serif Condensed:style=Condensed Italic,Italic
DejaVu Serif,DejaVu Serif Condensed:style=Condensed,Book
DejaVu Serif:style=Bold
DejaVu Serif:style=Bold Italic
DejaVu Serif:style=Book
DejaVu Serif:style=Italic
FreeMono:style=Bold Oblique
FreeMono:style=Bold
FreeMono:style=Oblique
FreeMono:style=Regular
FreeSans:style=Bold Oblique
FreeSans:style=Bold
FreeSans:style=Oblique
FreeSans:style=Regular
FreeSerif:style=Bold Italic
FreeSerif:style=Bold
FreeSerif:style=Italic
FreeSerif:style=Regular
Lato,Lato Black:style=Black Italic,Italic
Lato,Lato Black:style=Black,Regular
Lato,Lato Hairline:style=Hairline Italic,Italic
Lato,Lato Hairline:style=Hairline,Regular
Lato,Lato Heavy:style=Heavy Italic,Italic
Lato,Lato Heavy:style=Heavy,Regular
Lato,Lato Light:style=Light Italic,Italic
Lato,Lato Light:style=Light,Regular
Lato,Lato Medium:style=Medium Italic,Italic
Lato,Lato Medium:style=Medium,Regular
Lato,Lato Semibold:style=Semibold Italic,Italic
Lato,Lato Semibold:style=Semibold,Regular
Lato,Lato Thin:style=Thin Italic,Italic
Lato,Lato Thin:style=Thin,Regular
Lato:style=Bold
Lato:style=Bold Italic
Lato:style=Italic
Lato: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
OCRA:style=Medium
OCRABold:style=Bold
OCRACondensed:style=Condensed
OCRAItalic:style=Italic
OCRB:style=Oblique
OCRB:style=Regular
OCRBE:style=InvertedSharp
OCRBF:style=Outline
OCRBS:style=Sharp
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
Sommige lettertypen zijn niet ondersteund, maar worden automatisch vervangen door een "compatible/vrij alternatief":
[Uitvouwen]
Lettertype vervanging
MS Office
---------
Cambria -> Caladea
Calibri -> Carlito
Windows
-------
Arial -> Arimo
Times New Roman -> Tinos
Courier -> Cousine
Postscript/PDF standaardlettertypes
-----------------------------------
Helvetica -> TeX Gyre Heros
Times -> TeX Gyre Termes
Courier -> TeX Gyre Cursor
Helvetica Condensed -> TeX Gyre Heros Cn
ITC Avant Garde Gothic -> TeX Gyre Adventor
ITC Bookman -> TeX Gyre Bonum
ITC Zapf Chancery -> TeX Gyre Chorus
Palatino -> TeX Gyre Pagella
New Century Schoolbook -> TeX Gyre Schola
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.
- Zet de cursor op de juiste plek of selecteer het blok tekst en selecteer in het menu Insert - Section...
- Zet de cursor in de sectie en selecteer in het menu Insert - Script...
- Verander de waarde van 'Script type' in 'zttscript'
- Selecteer de 'Text' optie en vul in:
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.
- Maak een tabel die één rij hoog is
- Zet de cursor op een willekeurige plek in de tabel en selecteer in het menu Insert - Script...
- Let op: Voor LibreOffice 5+ moet de optie 'Script' toegevoegd worden via View - Toolbars - Customize. De optie wordt toegevoegd op de geselecteerde locatie met 'Add'. De optie staat in de lijst als 'Insert | Script'.
- Verander de waarde van 'Script type' in 'zttscript'
-
Selecteer de 'Text' optie en vul in:
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 filteren
In 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.
- Zet de cursor op de juiste plek of selecteer het blok tekst en selecteer in het menu Insert - Section... of Insert - Frame... of Insert - Table
- Zet de cursor in de sectie/frame/tabel en selecteer in het menu Insert - Script...
- Let op: Voor LibreOffice 5+ moet de optie 'Script' toegevoegd worden via View - Toolbars - Customize. De optie wordt toegevoegd op de geselecteerde locatie met 'Add'. De optie staat onder de categorie 'Insert'.
- Verander de waarde van 'Script type' in 'zttscript'
- Selecteer de 'Text' optie en vul in:
show_when { voorbeeld_magicstring == "voorbeeld waarde" }
Mogelijke vergelijkingen
Zie voor de mogelijke vergelijkingen: Rekenen en Vergelijkingen of Rekenen en vergelijkingen uitgebreid
Voorbeeld
Sjabloon
|
Beste meneer [[aanvrager_naam]],
Sectie 1 met: Uw aanvraag is [[beoordeling_compleet]]. U kunt uw aanvraag volgen op uw persoonlijke internetpagina.
Sectie 2 met: Uw aanvraag is [[beoordeling_compleet]]. U kunt de ontbrekende documenten toevoegen via uw persoonlijke internetpagina.
|
Script sectie 1
|
show_when { beoordeling_compleet == "ontvankelijk" }
|
Script sectie 2
|
show_when { beoordeling_compleet == "niet ontvankelijk" }
|
Output
|
Bij ontvankelijk:
Beste meneer Piet Friet,
Uw aanvraag is ontvankelijk. U kunt uw aanvraag volgen op uw persoonlijke internetpagina.
Bij niet ontvankelijk:
Beste meneer Piet Friet,
Uw aanvraag is niet ontvankelijk. U kunt de ontbrekende documenten toevoegen via uw persoonlijke internetpagina.
|
|
|
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:
- paginabreed te maken (17cm)
- aan de paragraaf te verankeren
- geen 'wrap' toe te laten
- geen spacing te geven
- geen rand te geven
|
De titel en tekst blijven netjes bij elkaar
|