Documenten
Sjablonen - [Has...] [/Has...] tags
Met [Has...] tags kan vooraf afgedwongen worden of een bepaalde tekst, wel of niet afgedrukt moet worden. Een [Has...] tag is gebaseerd op een bestaande tag. Het resultaat dat deze bestaande tag teruggeeft, bepaalt of een tekst geprint moet worden. De schrijfwijze van de [Has...] tag bestaat uit de bestaande tagnaam, met de toevoeging van de tekst Has en /Has ervoor. Bijvoorbeeld toegepast op de tag [Name], krijg je: [HasName] en [/HasName]. De toepassing wordt begonnen met [Has...] en afgesloten met [/Has...]. Afhankelijk van het resultaat dan de bestaande tag, zal de tekst die hier binnen valt afgedrukt worden. De [Has...] tags kunnen op alle tags worden toegepast.
De volgende [Has...] tag-varianten zijn beschikbaar:
[HasTagnaam] [/HasTagnaam]
Indien [Tagnaam] resultaat geeft, dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
In het volgende voorbeeld is het afdrukresultaat afhankelijk van de waarde die de tag [RelationATTN] (=de t.a.v. van de relatie) teruggeeft:
[Name]
t.a.v. [RelationATTN]
[InvoiceAddress]
[InvoiceZipcode] [InvoiceCity]
Als de [RelationATTN] geen resultaat geeft, levert dit het volgende resultaat op:
Intelly B.V.
t.a.v.
Laagveld 1
6014 DD ITTERVOORT
Om te voorkomen dat de 'zinloze' t.a.v. regel zichtbaar is wanneer deze niet gevuld is, moeten de volgende tags gebruikt worden: [HasRelationATTN] [/HasRelationATTN]. Indien [RelationATTN] gevuld is, dan zal alles binnen de [HasRelationATTN] tags zichtbaar zijn. Zoniet, dan wordt niets getoond wat tussen de tags [HasRelationATTN] [/HasRelationATTN] staat.
De opzet wordt nu:
[Name]
[HasRelationATTN]t.a.v. [RelationATTN]
[/HasRelationATTN][InvoiceAddress]
[InvoiceZipcode] [InvoiceCity]
Met als resultaat:
Intelly B.V.
Laagveld 1
6014 DD ITTERVOORT
[HasTagnaam<>"waarde"] [/HasTagnaam<>"waarde"]
Indien het resultaat van [Tagnaam] ongelijk (<>) is aan "waarde", dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
In het volgende voorbeeld mag de landnaam alleen afgedrukt worden indien de landcode ongelijk is aan NL. Voor landnaam wordt de tag [InvoiceCountry] gebruik, voor landcode de tag [InvoiceCountryID]. Het afdrukresultaat is dus afhankelijk van de waarde die de tag [InvoiceCountryID] teruggeeft.
[HasInvoiceCountryID<>"NL"] Land: [InvoiceCountry] [/HasInvoiceCountryID<>"NL"]
De tekst Land: [InvoiceCountry] zal nu alleen afgedrukt worden indien de tag [InvoiceCountryID] ongelijk is aan "NL".
Wanneer [InvoiceCountryID] als resultaat teruggeeft "NL", dan wordt er niets afgedrukt.
Stel dat [InvoiceCountryID] als resultaat teruggeeft "BE", dan wordt de tekst wel afgedrukt: Land: België
Deze functionaliteit kan ook worden toegepast op meerdere waarden.
Stel dat de landcode ook niet "BE" en "DE" mag zijn, dan zou je krijgen:
[HasInvoiceCountryID<>"NL","BE","DE"] Land [InvoiceCountry] [/HasInvoiceCountryID<>"NL","BE","DE"]
[HasTagnaam<getal] [/HasTagnaam<getal]
Indien het resultaat van [Tagnaam] kleiner (<) is dan "getal", dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
In het volgende voorbeeld mag de tekst "CREDIT" alleen afgedrukt worden indien het bedrag kleiner is dan 0.
[HasTotalAmount<0]CREDIT[/HasTotalAmount<0]FACTUUR
De tekst CREDITFACTUUR zal nu afgedrukt worden indien de tag het totaalbedrag kleiner is dan 0.
In andere gevallen wordt afgedrukt: FACTUUR
[HasTagnaam>getal] [/HasTagnaam>getal]
Indien het resultaat van [Tagnaam] groter (>) is dan "getal", dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
In het volgende voorbeeld mag de tekst "grote " alleen afgedrukt worden indien het bedrag groter is dan 10000.
Dit is een [HasTotalAmount>10.000,00]grote [/HasTotalAmount>10.000,00]factuur
De tekst Dit is een grote factuur zal nu afgedrukt worden indien de tag het totaalbedrag groter is dan 10000.
In andere gevallen wordt afgedrukt: Dit is een factuur
[HasTagnaam="waarde"] [/HasTagnaam="waarde"]
Indien het resultaat van [Tagnaam] gelijk (=) is aan "waarde", dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
Het volgende voorbeeld is bijna gelijk aan het vorige voorbeeld, met als verschil dat de landnaam alleen afgedrukt mag worden indien de landcode gelijk is aan NL.
[HasInvoiceCountryID="NL"] Land: [InvoiceCountry] [/HasInvoiceCountryID="NL"]
De tekst Land: [InvoiceCountry] zal nu alleen afgedrukt worden indien de tag [InvoiceCountryID] gelijk is aan "NL".
Wanneer [InvoiceCountryID] als resultaat teruggeeft "BE", dan wordt er niets afgedrukt.
Stel dat [InvoiceCountryID] als resultaat teruggeeft "NL", dan wordt de tekst wel afgedrukt: Land: Nederland
Deze functionaliteit kan ook worden toegepast op meerdere waarden.
Stel dat de landcode ook "BE" of "DE" mag zijn, dan zou je krijgen:
[HasInvoiceCountryID="NL","BE","DE"] Land: [InvoiceCountry] [/HasInvoiceCountryID="NL","BE","DE"]
[HasTagnaam~"waarde"] [/HasTagnaam~"waarde"]
Indien het resultaat van [Tagnaam] de tekst "waarde" bevat, dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
[HasDescription~"rood"] Rode zalm [/HasDescription~"rood"]
De tekst Rode zalm zal nu alleen afgedrukt worden indien de tag [Description] de tekst "rood" bevat.
Wanneer [Description] als resultaat teruggeeft "blauwe zee", dan wordt er niets afgedrukt.
Stel dat [Description] als resultaat teruggeeft "stokbrood", dan wordt de tekst wel afgedrukt: Rode zalm
Deze functionaliteit kan ook worden toegepast op meerdere waarden.
Stel dat de omschrijving "rood" of "roze" moet bevatten, dan zou je krijgen:
[HasDescription~"rood","roze"] Rode of roze zalm [/HasDescription~"rood","roze"]
[HasTagnaam!~"waarde"] [/HasTagnaam!~"waarde"]
Indien het resultaat van [Tagnaam] niet de tekst "waarde" bevat, dan zal de tekst binnen [HasTagnaam] [/HasTagnaam] afgedrukt worden, anders niet.
[HasDescription!~"rood"] Roze zalm [/HasDescription!~"rood"]
De tekst Roze zalm zal nu alleen afgedrukt worden indien de tag [Description] niet de tekst "rood" bevat.
Wanneer [Description] als resultaat teruggeeft "blauwe zee", dan wordt de tekst Roze zalm afgedrukt.
Stel dat [Description] als resultaat teruggeeft "stokbrood", dan wordt er niets afgedrukt.
Meerdere waardes
Bovenstaande functionaliteiten kunnen ook toegepast worden op meerdere waardes.
Stel dat de omschrijving geen "rood" of "roze" mag bevatten, dan zou je krijgen:
[HasDescription!~"rood","roze"] Witte zalm [/HasDescription!~"rood","roze"]
[Has...] [/Has...] tags in sjabloon regels
De [Has...] tags kunnen op gebruikt worden voor sjabloon regels. Hier is alleen de variant [Has...][/Has...] beschikbaar.Stel dus dat het volgende stukje tekst niet afgedrukt moet worden als er geen orderregels aanwezig zijn,
De volgende producten worden geleverd:
[OrderLines]
Dan wordt de opmaak:
[HasOrderLines]
De volgende producten worden geleverd:
[OrderLines]
[/HasOrderLines]
Tips:
1.Door de afsluitende tag [/Has...] op de volgende regel te plaatsen wordt de hele regel weggelaten op de layout indien de tag geen resultaat geeft. Geeft de tag wel resultaat, dan wordt de tekst na de [/Has...] tag op de volgende regel afgedrukt. Zie het voorbeeld van [HasRelationATTN] [/HasRelationATTN] hierboven. Indien de begin tag [Has...] en de afsluitende tag [/Has...] op dezelfde regel worden geplaatst, dan wordt er een lege regel afgedrukt indien de tag geen resultaat geeft.
2.
In het Logistic Control Center kunnen sjablonen gekoppeld worden om te bepalen welke layout gebruikt moet gaan worden bij bijvoorbeeld het afdrukken van een factuur. Dit is de optie Uitvoer die per proces is in te richten. Bij de Document instellingen in Uitvoer, bevindt zich de optie Uitvoer wijzigbaar. Indien deze optie actief is, dan kan de layout nog worden gewijzigd op het moment dat deze wordt afgedrukt. De gebruiker krijgt dan het sjabloon te zien waarin alle tags zijn vervangen door de daadwerkelijke waarden uit het programma. Zijn er in het sjabloon [Has...] tags gebruikt, dan staan de eventuele tekst en de waarden die binnen deze [Has...] tags vallen, altijd op de te wijzigen layout. Het maakt dus niet uit of deze [Has...] tags wel of geen waarde teruggeven. Als de aangepaste layout definitief wordt afgedrukt, dan zal er wel weer rekening worden gehouden met de voorwaarden die gelden voor de [Has...] tags.
Dit is het best uit te leggen aan de hand van een voorbeeld:
In het voorbeeld willen we alleen het kortingbedrag op de offerte afdruk, indien er een kortingbedrag is gegeven in de offerte. We gaan er vanuit dat er geen korting is gegeven.
a. Weergave op Sjabloon:
[HasTotalDiscountAmount]Korting: [TotalDiscountAmount][/HasTotalDiscountAmount]
b. Weergave op wijzigbare layout bij afdrukken:
Korting: 0,00
c. Weergave op definitieve afdruk:
leeg
Uitleg:
Bij a. is in het voorgedefinieerde sjabloon middels de [Has...] tags ingesteld dat de korting alleen zichtbaar mag zijn als deze in de offerte gevuld is.
Bij b. zijn de tags vervangen door de echte waarden, maar op dit moment kan geen rekening worden gehouden met de voorwaarden van de [Has...] tags en wordt alles afgrdukt.
Bij c. wordt hier wel rekening mee gehouden en ziet u dat er niets afgedrukt wordt omdat er geen korting is gegeven.