Labels afdrukken door middel van code

  • 3 minutes to read

Met BoCount Dynamics BarTender kunt u labels afdrukken door middel van code. Dit kan handig zijn als u labels wilt afdrukken vanuit een maatwerk-extensie.

De codeunit CFL BarTender Management stelt een aantal procedures ter beschikking waarmee op een eenvoudige manier labels afgedrukt kunnen worden.

Integratie-events voor sjabloonvelden

Bij het invullen van een BarTender-sjabloon zijn de volgende integratie-events beschikbaar:

  • CFLOnAfterSetCasing: wordt aangeroepen nadat de casing voor een vervangingsveld is bepaald. Een extensie kan de casing aanpassen voordat de veldwaarde wordt opgehaald.
  • CFLOnBeforeAddPairToTemplate: wordt aangeroepen voordat het sleutel-waarde-paar aan de labeldata wordt toegevoegd. Een extensie kan de sleutel en waarde van het veld aanpassen.

Deze events maken maatwerk mogelijk voor de veldopmaak en de gegevens die naar BarTender Cloud worden verstuurd.

CFLPrintLabels(TableNo: Integer; SystemIds: List of [Guid])

Deze procedure is het aanbevolen ingangspunt voor het afdrukken van labels via code. Ze verwacht het tabelno van het brondocument en een lijst van SystemId's. BoCount Dynamics BarTender haalt de sjablonen op die dezelfde brontabel hebben als het record en bundelt alle labels in één HTTP-aanroep naar de BarTender Cloud API, zodat de juiste afdrukvolgorde gegarandeerd is.

CFLPrintLabels(TableNo: Integer; SystemIds: List of [Guid]; BarTenderTemplate: Record "CFL BT Template"; BarTenderPrinter: Record "CFL BT Printer"; Copies: Integer)

Deze overload laat toe om expliciet een sjabloon, printer en aantal exemplaren op te geven. Alle labels worden gebundeld in één HTTP-aanroep naar de BarTender Cloud API.

CFLPrintLabels(BarTenderTemplate: Record "CFL BT Template"; BarTenderPrinter: Record "CFL BT Printer"; Copies: Integer; LabelDataList: List of [Dictionary of [Text, Text]])

Deze overload is de kernimplementatie. Ze verwacht een sjabloon, een printer, het aantal exemplaren en een lijst van dictionaries met de veldnamen en waarden per label. Alle labels worden samengebundeld in één JActionArray en verstuurd in één HTTP POST /actions-aanroep naar BarTender Cloud.

NOTE

Gebruik bij voorkeur CFLPrintLabels in plaats van de verouderde CFLPrintLabel-procedures. Door alle labels in één aanroep te bundelen, worden volgordeproblemen door load balancing van BarTender Cloud vermeden.


CFLPrintLabel(Variant) (verouderd - pending BC29)

WARNING

Deze procedure is verouderd en zal worden verwijderd in BC29. Gebruik CFLPrintLabels als vervanging.

Deze procedure verwacht een variant als parameter. Die variant bevat een record. BoCount Dynamics BarTender haalt de sjablonen op die dezelfde brontabel hebben als het record.

Sessie zonder interface

Als het gaat om een sessie zonder interface, dan wordt gezocht naar het eerste sjabloon waarbij Standaard aangevinkt is. Is er geen sjabloon met Standaard aangevinkt, dan wordt het eerste sjabloon gebruikt. BoCount Dynamics BarTender zal een label afdrukken gebaseerd op het gevonden sjabloon en zal dat afdrukken op de standaardprinter die ingesteld is bij het sjabloon. Het aantal exemplaren hangt af van het veld Standaard exemplaren in het sjabloon.

Sessie met interface

Als het gaat om een sessie met interface, dan zal BoCount Dynamics BarTender een dialoogvenster tonen waarin de gebruiker het sjabloon, de printer en het aantal exemplaren kan kiezen. Welk sjabloon, welke printer en hoeveel exemplaren er voorgesteld worden, kan ingesteld worden bij de sjablonen.

printlabel

CFLPrintLabel(RecordVariant: Variant; BarTenderTemplate: Record "CFL BT Template"; BarTenderPrinter: Record "CFL BT Printer"; Copies: Integer) (verouderd - pending BC29)

WARNING

Deze procedure is verouderd en zal worden verwijderd in BC29. Gebruik CFLPrintLabels als vervanging.

Deze procedure verwacht een variant als parameter, een sjabloon, een printer en het aantal exemplaren. De variant bevat een record. Het sjabloon wordt opgevuld met de data van de variant en het label wordt geprint op de meegegeven printer.

CFLPrintLabel(BarTenderTemplate: Record "CFL BT Template"; BarTenderPrinter: Record "CFL BT Printer"; Copies: Integer; NamedDataSources: Dictionary of [Text, Text]) (verouderd - pending BC29)

WARNING

Deze procedure is verouderd en zal worden verwijderd in BC29. Gebruik CFLPrintLabels als vervanging.

Deze procedure verwacht een sjabloon, een printer, het aantal exemplaren en een dictionary. Die dictionary bevat de namen van de velden en hun respectievelijke waarden. Het sjabloon wordt opgevuld met de data van de dictionary en het label wordt geprint op de meegegeven printer.