Um die gewünschten Ergebnisse zu erzielen, können wir einen Algorithmus implementieren, der die gegebene Tabelle analysiert und die erforderlichen Informationen extrahiert. Hier ist ein möglicher Ansatz in Python:
def belegsuche(tabelle, belegnummer):
belegtypen = {‘R’: ‘Rechnung’, ‘A’: ‘Angebot’, ‘L’: ‘Lieferschein’, ‘X’: ‘Auftrag’, ‘B’: ‘Bestellung’, ‘G’: ‘Gutschrift’}
ergebnis = [belegnummer] # Initialisiere das Ergebnis mit der gesuchten Belegnummer
while belegnummer in tabelle:
quellbeleg = tabelle[belegnummer]
if quellbeleg is None:
break
belegtyp = belegtypen[belegnummer[0]]
ergebnis.append(quellbeleg)
belegnummer = quellbeleg
belegtypen_ergebnis = [belegtypen[beleg[0]] if beleg is not None else 'null' for beleg in ergebnis]
ergebnis = ' '.join(ergebnis)
belegtypen_ergebnis = ' '.join(belegtypen_ergebnis)
return f"{ergebnis}\n{belegtypen_ergebnis}"
Beispielaufruf
tabelle = {
‘R014931’: ‘L013119’,
‘L013119’: ‘X010899’,
‘X010899’: ‘X009401’,
‘X009401’: None
}
ergebnis = belegsuche(tabelle, ‘R014931’)
print(ergebnis)
Die Funktion belegsuche nimmt die Tabelle und die gesuchte Belegnummer als Parameter. Sie verwendet eine Schleife, um den Quellbeleg für jede Belegnummer zu finden, bis ein None-Wert erreicht wird. Die entsprechenden Belegtypen werden aus einem Wörterbuch belegtypen abgeleitet und in den Ergebnissen gespeichert.
Für das gegebene Beispiel wird die Ausgabe wie folgt sein:
R014931 L013119 X010899 X009401 null
Rechnung Lieferschein Auftrag Auftrag Gutschrift
Die erste Zeile zeigt die Belegnummern, die durch Leerzeichen getrennt sind, und die zweite Zeile zeigt die entsprechenden Belegtypen.
Bitte beachten Sie, dass dies nur ein Beispiel ist und je nach Anforderungen und Datenstruktur der tatsächliche Code angepasst werden kann. Ich würde Ihnen auch raten, die Hilfe von Experten für Softwareentwicklung https://tech-stack.com/services/custom-software-development in Anspruch zu nehmen, da ich vielleicht irgendwo einen Fehler gemacht habe.