Gelöst Rechnungen des Vortags per PDF ausgeben

sebogmbh97616

Aktives Mitglied
14. Januar 2017
12
3
Hallo liebe Mitstreiter ;)

ich werde noch wahnsinnig mit meinem eigentlich noch so simplen Workflow...
Vorab möchte ich anmerken, dass ich bereits gegoogelt und eingehend das Forum studiert habe.

Hintergrundinformationen:
Wir haben die Jera JTL 2 Datev Unternehmen Online Schnittstelle, damit unser Steuerberater immer schön alle Buchungen aus der Wawi bekommt und auch gleichzeitig die verknüpften Belegbilder archivieren kann.
Klasse Sache, vor allem bei einer Buchprüfung, aber blöd wenn man den Export immer manuell anstoßen muss.
DATEV Unternehmen online löst täglich einen Task aus, in dem die überwachten Ordner ins DATEV Rechnenzentrum übertragen und anschließend geleert werden.

Wir fakturieren am Tag zwischen 400 - 500 Rechnungen, deshalb möchten wir den Rechnungsexport zeitversetzt in der Nacht stattfinden lassen, damit nicht unter dem Tag unnötige Performance abgezwackt wird.

Die besagte DATEV Schnittstelle löscht allerdings die PDFs nach dem Upload aus unserem Verzeichnis auf dem lokalen Server. Auf der einen Seite ist das gut, damit es keine Platznot gibt, auf der anderen Seite entsteht das Problem, dass die WAWI nachts anfängt, jede Rechnung seit Eintragung des Workflows wieder erneut abzuspeichern. So werden dann jedes mal alle Rechnungen gespeichert und wieder erneut in die Cloud hochgeladen. Dort liegt dann alles doppelt und hundertfach...

Meine Frage:
Gibt es eine Bedingung, welche nur die Rechnungen mit dem Erstellungsdatum vom Vortag speichert?



Meine bisherigen Anstrendungen:

Die Vorbereitung:

Admin > Druckvorlagen > Rechnung > Speichern

Ein abgespecktes Rechnungsdesign entworfen, damit in der Datev Cloud nicht unnötig Speicherplatz gemietet werden muss (GODB konforme Archivierung)

Einstellungen fürs Speichern:

Dateiformat: PDF Datei
Template für Dateiname: \\PFAD\{{Vorgang.Vorgangsid}}.pdf
Aktion bei vorhanden Datei: Überspringen.


Der Workflow:
Der Workflow soll immer nachts um 2 Uhr stattfinden und alle Rechnungen, die am Vortag erstellt wurden vom als PDFs in ein Verzeichnis speichern.

Der Workflow wurde wie Folgt erstellt:
Rechnungen > Erstellt
Ausgabe: Ausgabemodus: Speichern Formular: Rechnung

Dummerweise speichert mir die WAWI jetzt jede Nacht alle Rechnungen, seit Anlage des Workflows.
Also die neuen vom Tag und die ganzen alten davor.

Gibt es eine Bedingung, welche nur die Rechnungen mit dem Erstellungsdatum vom Vortag speichert?

Ich hoffe auf eine gute Idee und rege Beteiligung ;)

Vielen Dank im Voraus

Gruß

Sebastian
 

pawel.kesik

Moderator
Mitarbeiter
27. Juni 2016
8
2
Hürth
Hallo Sebastian,

zu deiner Frage:
Meine Frage:
Gibt es eine Bedingung, welche nur die Rechnungen mit dem Erstellungsdatum vom Vortag speichert?

ja du könntest vorher das Aktuelle Datum - 1 Tag abfragen. Wenn dies zutrifft, dann soll der Workflow ausgelöst werden. Eine solche Abfrage könnte so aussehen:

{% assign meinDatum = Datum.Jetzt -%}
{% assign meinDatum = meinDatum | AddDays: -1 -%}
{{ meinDatum | Datum: 'yyyy-MM-dd' }}
 

sebogmbh97616

Aktives Mitglied
14. Januar 2017
12
3
Hallo Pawel,

vielen Dank für den Tipp.
Ich habe das ganze mal so in den Workflow eingepflegt.

Als Bedingung habe ich jetzt:

- Alle Bedingungen erfüllt

- Das Script wurde unter "Erweiterte Eigenschaften" eingepflegt:

{% assign meinDatum = Datum.Jetzt -%}
{% assign meinDatum = meinDatum | AddDays: -1 -%}
{{ meinDatum | Datum: 'yyyy-MM-dd' }}

- Bedingung: Ist nicht leer

Allerdings erstellt die Wawi weiterhin fröhlich jede Nacht Dublikate von allen Rechnungen seit Eintragung des Workflows.

Habe ich wohl die Bedingung falsch gesetzt?

Vielen Dank noch mal.

Gruß

Sebastian
 

pawel.kesik

Moderator
Mitarbeiter
27. Juni 2016
8
2
Hürth
Hallo Sebastian,

ja da reicht die Bedingung nicht. Mit der Abfrage setzt du ja ein festes Datum. Heute -1 Tag. Somit kann die Bedingung niemals leer sein und wird jeden Tag erfüllt. Allerdings fehlt der Bedingung die Verbindung mit dem Auftrag. Geprüft werden soll ja, ob das Rechnungsdatum mit dem heutigen -1 zusammen passt.
Ich habe da mal was vorbereitet:

{% assign meinDatum = Datum.Jetzt -%}
{% assign meinDatum = meinDatum | AddDays: -1 -%}
{% assign meinDatum = meinDatum | Datum: 'yyyy-MM-dd'%}
{% capture sql %}Select dErstellt from trechnung where cRechnungsNr = '{{ Vorgang.Belegnummer }}'{% endcapture -%}
{% assign result = sql | DirectQueryScalar -%}
{% assign result = result | Datum: 'yyyy-MM-dd' -%}
{% if result == meinDatum -%}
1
{% else -%}
0
{% endif -%}

Der Anfang ist der Selbe. Wir erstellen uns ein Datum, ausgehend von heute -1 Tag.

Jetzt brauchen wir noch das zweite Datum von der Bereits erstellten Rechnung. Und zum Schluss werden beide miteinander verglichen. Wenn beide gleich sind, dann gibt die Abfrage eine 1 aus. Wenn diese ungleich sind, dann gibt's eine 0.

Die Bedingung ist also: ist gleich 1

Beste Grüße
Pawel
 

sebogmbh97616

Aktives Mitglied
14. Januar 2017
12
3
Hallo Pawel,

vielen Dank für die schnelle Antwort ;)

Leider endet das ganze aber immer in einer Fehlermeldung.

Ich habe anbei ein paar Screenshots gemacht.

Gruß

Sebastian
 

Anhänge

  • Workflow Erweiterte Eigenschaften.jpg
    Workflow Erweiterte Eigenschaften.jpg
    668,6 KB · Aufrufe: 60
  • Workflow Fehler.jpg
    Workflow Fehler.jpg
    547,4 KB · Aufrufe: 60
  • workflow Maske.jpg
    workflow Maske.jpg
    837 KB · Aufrufe: 51

pawel.kesik

Moderator
Mitarbeiter
27. Juni 2016
8
2
Hürth
Grüße,

das liegt daran, dass der capture abschnitt nicht in einer Zeile steht.

Bitte Darauf achten dass,

{% capture sql %}Select dErstellt from trechnung where cRechnungsNr = '{{ Vorgang.Belegnummer }}'{% endcapture -%}

alles in einer Zeile steht.

Beste Grüße
Pawel
 

sebogmbh97616

Aktives Mitglied
14. Januar 2017
12
3
Hallo Pawel,

vielen lieben Dank. Das funktioniert!!! :):):):):):)

Sehr sehr geil!

Nur die Rechnungskorrekturen funktionieren damit nicht.
Ich habe das mal probiert umzudichten, klappt aber nicht ganz.

Hier mein Vorschlag:

{% capture sql %}Select dErstellt from trechnungskorrektur where cRechnungskorrekturNr = '{{ Vorgang.Belegnummer }}'{% endcapture -%}

Hast du da noch einen ganz heißen Tipp für mich?

Danke ;)

Gruß

Sebastian
 

pawel.kesik

Moderator
Mitarbeiter
27. Juni 2016
8
2
Hürth
Hi,

ne das klappt leider so nicht :) Die Tabellen Namen aus der Datenbank müssen schon stimmen. Rechnungskorrekturen zählen zu den Gutschriften und werden dort in der Tabelle auch gespeichert. Die Tabelle heißt

Am besten aber selbst in die Datenbank rein schauen und die richtigen Tabellen und Spalten Namen heraussuchen und anschließend im Code umschreiben.

Beste Grüße
Pawel
 

sebogmbh97616

Aktives Mitglied
14. Januar 2017
12
3
Hi,

ok. Ich habe mich da mal ans Management Studio gesetzt und so ziemlich alle Tabellen durchgesucht bis ich endlich mal zu der richtigen gekommen bin.

Also, falls es jemanden interessiert, der Code für die Rechnungskorrekturen sieht so aus:

.fctbNone{ color:#000000; }
.fctbStyle1{ color:#0000ff; }
.fctbStyle0{ color:#d2691e; }
{% assign meinDatum = Datum.Jetzt -%}
{% assign meinDatum = meinDatum | AddDays: -1 -%}
{% assign meinDatum = meinDatum | Datum: 'yyyy-MM-dd'%}
{% capture sql %}Select dErstellt from tgutschrift where cGutschriftNr = '{{ Vorgang.Belegnummer}}'{% endcapture -%}
{% assign result = sql | DirectQueryScalar -%}
{% assign result = result | Datum: 'yyyy-MM-dd' -%}
{% if result == meinDatum -%}
1
{% else -%}
0
{% endif -%}

Bedingung wieder gleich 1

Vielen lieben Dank an Pawel!

JTL ROCKT! :):):):):):):):)

Viele Grüße

Sebastian
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Steuerproblem / Differenzbesteuerung Rechnungen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Zuweisung von Zahlungen zu gutgeschriebenen Rechnungen Arbeitsabläufe in JTL-Wawi 1
Lieferanten Rechnungen als bezahlt markieren JTL-Wawi 1.8 0
Rechnungen an Ebay und Amazon Kunden immer digital zusenden JTL-Wawi 1.9 0
Neu Hatte noch jemand gestern Abend am 29.11. einen kurzzeitigen Ausfall des Shops? JTL-Shop - Fehler und Bugs 8
Sprachvariablen des Auftrags nutzen in eMail-Vorlagen JTL-Wawi 1.9 3
Neu Stückliste des (Stücklisten-)Artikels drucken User helfen Usern - Fragen zu JTL-Wawi 3
Neu Probleme nach update des neuen Shops JTL-Shop - Fehler und Bugs 9
Kassenschnittbeleg wird nach Ausdausch des Kartenlesegerätes nicht mehr ausgedruckt JTL-Vouchers - Fehler und Bugs 0
Neu [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2
Neu Kumulierte Menge der Artikelpositionen vor dem Speichern des Auftrags einsehen Eigene Übersichten in der JTL-Wawi 1
Korrektur Name des Absenders bei Anforderung der Bestätigung der E-Mail-Adresse Einrichtung JTL-Shop5 1
Neu SQL Code zur Ausgabe des Verkaufspreis je Kundengruppe User helfen Usern 1
Erzeugung des Barcodes für die Gebinde EAN JTL-Wawi 1.9 3
Gelöst iMin Swan 1 Pro Kundendisplay zeigt nur verkleinerte 1:1 Kopie des kompletten Hauptbildschirmes JTL-POS - Fragen zu Hardware 3
Teile des Artikelnamens Farblich hervorheben JTL-Wawi 1.9 2
Neu Update auf 1.9 - wo sind die Kommentarfelder des Artikels geblieben? Eigene Übersichten in der JTL-Wawi 1
Neu Nach dem entfernen des PayPal Checkout werden keine Zahlungsarten anderer Anbieter angezeigt. JTL-Shop - Fehler und Bugs 4

Ähnliche Themen