Beantwortet

Zahlungsverkehr Automatisierung


Benutzerebene 4
Abzeichen +2

Schönen guten Tag!

Ich bin dabei ein Custom Modul zu schreiben, welches den Ablauf innerhalb des Zahlungsverkehrs automatisieren soll.

Aktuelle Schritte die es per PHP/Javascript/Ajax zu automatisieren gilt:

1.)Zahlungsverkehr öffnen, eine (mehrere) Gutschrift markieren, unten ein Konto auswählen und auf "Zahlungen zuordnen und freigeben" klicken.

2.) Im Zahlungsverkehr in der Konto-Tabansicht die Gutschrift(en) erneut auswählen und auf "Zahlung ausführen" klicken.

Meine Problematik liegt beim grundsätzlichen Auswählen der Gutschrift(en).

Da die Datei zahlungsverkehr.php verschlüsselt ist, kann ich nicht auf interne Methoden zugreifen und muss einen Workaround benutzen. Dafür möchte ich per Ajax einen POST-Call mit den Daten senden, die auch gesendet werden würden, wenn ich den Ablauf durch anklicken der Seitenelemente durchlaufe. Der erste Schritt beispielhaft auf dem folgenden Screenshot:

Die Daten des POST-Calls sind:

'uberweisung_length': "10", //Einträge pro Seite| 1. der Abbildung'dta[]': var1, //die ausgewählten Gutschriften der Form "XY-2"| 2.'konto': var2, //das ausgewählte Konto| 3.'erzeugen': "Zahlungen+zuordnen+und+freigeben" //Button Name| 4.
Wie auf dem Screenshot im HTML-Code der Checkbox zu sehen ist ein value-Wert angegeben der folgendem Muster entspricht: value="XY-2". Nun ist die Zahl, die statt XY dort stehen würde, leider nicht wie erwartet die ID der Gutschrift in der Datenbanktabelle Gutschrift.
 
Meine Frage wäre:
Da der Wert irgendwo intern aus der Datei zahlungsverkehr.php kommt würde ich gerne wissen, wie dieser Value zustande kommt, dass ich diesen händisch selbst erstellen kann oder irgendwoher beziehen kann. Ist es möglicherweise eine ID aus einer anderen Datenbanktabelle oder wird dieser Wert komplett unabhängig auf irgendeine Weise intern berechnet?
Was wäre ein möglicher Workaround oder aber ein komplett anderer Weg, wie ich automatisch Gutschriften einem Zahlungskonto zuweisen und aus dem jeweiligen Konto heraus die Zahlung ausführen kann?
 

 

 

icon

Beste Antwort von René Niedzballa 27 July 2021, 13:00

Original anzeigen

2 Antworten

Benutzerebene 4
Abzeichen +2

Hast du Xentral also selbst gehosted? Wenn ja, wie kann dann eine PHP-Datei verschlüsselt sein?

Aber wenn es dir nur um's auswählen und zuweisen von Verbindlichkeiten geht, würde ich das denke ich per JavaScript User Scripts lösen. Deine Schritte 1-4 im Bild wären damit eigentlich einfach zu automatisieren.

Das mit dem value 18-2... vllt ist das eine die Projekt-ID?

Zum Thema User Scripts siehe TamperMonkey, ViolentMonkey, ... (Browser-Add-ons) und hier ein: https://gist.github.com/schoettl/45698262b96354501ea99fd58d09fe0c

Benutzerebene 4
Abzeichen +2

Danke für deine Antwort, @Jakob Schöttl.

Deine Tipps waren leider nicht ganz zielführend, jedoch habe ich rausgefunden, wonach ich gesucht habe:Der von mir im Initialpost erwähnte value="XY-2" setzt sich wie folgt zusammen:

Eine existierende Gutschrift hat eine ID (Beispielhaft nehmen wir gutschrift.id = 12) in der Datenbanktabelle "gutschrift".

In der Datenbanktabelle "payment_transaction" ist für eine gegebene Gutschrift in der Spalte "returnorder_id" eben diese ID der Gutschrift hinterlegt (returnorder_id = 12). Die ID der zu der Gutschrift korrespondierenden Zeile innerhalb der Tabelle "payment_transaction" ist eben die Zahl, die man für XY einsetzt.

Beispielhaft ergibt also ein "SELECT id FROM payment_transaction WHERE returnorder_id = 12" die ID 30

-> Gutschrift ID = 12, Payment_Transaction ID = 30, value="30-2"

Antworten