Hallo,
nachdem das Thema in 01/2013 hier schon einmal angesprochen wurde und wohl auch als Featurewunsch existiert, möchte ich unsere, zugegeben etwas einfache Lösung hier posten.
Voraussetzungen:
In meiner Dropbox habe ich eine Bezahlcode.txt bereitgestellt, die in den Ordner Paketdienst kopiert werden muss.
Weiterhin gibt es dort eine passende Rechnung dazu. Alternativ reicht es auch, in einer vorhandenen Rechnung eine unsichtbare Tabelle (ohne Rahmen) zu erstellen. Sie muss Bezahlcode genannt werden und eine Spalte und zwei Zeilen haben. Natürlich kann man auch den Makro-Quellcode stattdessen entsprechend ändern.
Vorbereitungen:
Die entsprechende [Rechnung].ott öffnen und unter demselbem Pfad und Namen speichern. Das folgende Makro unter Extras/Makros/Makros verwalten/LibreOffice Basic.../Makros aus/Meine Makros/Standard/Module1/Main/Bearbeiten einkopieren.
sub Bezahlcode
odoc=thiscomponent
myTables = oDoc.getTextTables
myTable=myTables.getByName("Bezahlcode" )
x=myTable.getCellByPosition(0 , 1)
rem ViewCursor
myViewCursor=oDoc.GetCurrentController.ViewCursor
myViewCursor.gotoRange(x,false)
rem define variables
dim document as object
dim dispatcher as object
dim oClip as object
dim None as object
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper" )
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SelectedFormat"
args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:ClipboardFormatItems", "", 0, args1())
rem Zwischenablage leeren
oClip = createUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard" )
oClip.setContents(None,none)
rem Viewcursor nach Grafik neusetzen
mytextCursor=ThisComponent.text.createtextcursor()
ThisComponent.getCurrentController().select(mytextCursor)
ViewCursor = thiscomponent.CurrentController.getviewCursor()
end sub
Jetzt unter Extras/Anpassen.../Ereignisse/Neues Dokument/ das hinterlegte Makro zuweisen. Darunter "Speichern in... --> [Rechnung].ott" nicht vergessen.
Rechnung [Rechnung].ott speichern.
Der Workflow:
- Rechnung in Fakturama öffnen.
- Paketdienst --> Bezahlcode ausführen. Die Daten werden an die seriöse Seite www.bezahlcode.de übergeben.
- Auf der rechte Seite der Website unter dem QR-Code auf "Erzeugen" drücken.
- Generierten Bezahlcode mit der rechten Maustaste in die Zwischenablage kopieren.
- Rechnung drucken. Beim Erzeugen der Rechnung aus der Rechnungsvorlage wird der Bezahlcode aus der Zwischenablage durch das Makro in die vorbereitete Tabelle der Rechnung kopiert.
Die Sicherheit:
Da sich die QR-Codes optisch kaum unterscheiden, wird die Zwischenablage nach dem Einfügen des Bezahlcodes in die Rechnung durch das Makro gelöscht. Dadurch soll vermieden werden, dass beim Scheitern des nächsten Kopiervorgangs der noch in der Zwischenablage befindliche alte Bezahlcode wieder eingefügt wird.
Ich hoffe, es funktioniert bei Euch.
Viele Grüße
Steffen
------------------
Viele Grüße
Steffen
www.larissastoffe.de | Nähe deine Ideen!