Hi @all,
ich bin neu hier im Forum und ein absoluter Beginner im Thema Scripting und Powershell. Einfach Sachen bekomme ich noch hin, aber bei diesem Thema brauche ich mal die Hilfe der Community. Ich versuche mich kurz zu fassen, allerdings ist das Thema ein bisschen umfangreich. Ich hoffe ihr könnt mir bei der Lösung helfen. Ich habe schon gefühlt tausende Beiträge in allerlei Foren gelesen und mich daran versucht, allerdings war das nicht von Erfolg gekrönt. ich hab halt von xml gar keine Ahnung und bei Powershell bin ich blutiger Anfänger.
Ich habe zwei typen von XML Dateien, einmal die Payable für Eingangsrechnungen und einmal receivable für Ausgangsrechnungen. Diese werden bei einem Export aus unserem WaWi Programm erzeugt. Nun sollen diese Dateien in ein anderes Programm zur Weiterverarbeitung eingelesen werden. Allerdings benötigt dieses Programm die Saldokennzeichen S und H. An welcher Stelle ist egal, das kann ich beim Import definieren. Es kann auch eine zusätzliche Node hinzugefügt werden.
Meine Idee war nun, das ich mit einem Script die xml öffne, eine node in der xml welche ich nicht brauche in S oder H ändere.
Es handelt sich dabei um die Zeile
<exchangeRate>1.000000</exchangeRate>
hier müsste nur der Wert 1.000000 abgeändert werden in S und H. Und zwar bei Payable in S und bei receivable in H.
Anbei zwei Beispiel xml Dateien., Vielleicht hat ja einer die zündende Idee für mich. Ich habe auch zwei Testdateien angehangen, da in den CodeTags die Strucktur der xml verloren geht.
Die Dateien liegen immer in einem bestimmten Ordner mit der Namensstruktur Rechnungsdaten*.xml. Die Dati muss zwingend nach dem abspeichern den selben Namen behalten.
Für Receiveable
<?xml version="1.0" encoding="utf-8"?>
<LedgerImport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="5.0" generator_info="c-entron software gmbh" xml_data="Kopie nur zur Verbuchung berechtigt nicht zum Vorsteuerabzug" xsi:schemaLocation="http://xml.datev.de/bedi/tps/ledger/v050" Belegverwaltung_online_ledger_import_v050.xsd" xmlns="http://xml.datev.de/bedi/tps/ledger/v050;>"
<consolidate consolidatedAmount="121.50" consolidatedDate="2022-06-07" consolidatedInvoiceId="470985" consolidatedCurrencyCode="EUR">
<accountsReceivableLedger>
<date>2022-06-07</date>
<amount>59.50</amount>
<accountNo>8404</accountNo>
<costCategoryId>1</costCategoryId>
<tax>19.00</tax>
<currencyCode>EUR</currencyCode>
<invoiceId>470985</invoiceId>
<bookingText>Testikowsi - 470985</bookingText>
<partyId>46208</partyId>
<internalInvoiceId>470985</internalInvoiceId>
<exchangeRate>1.000000</exchangeRate>
<dueDate>2022-06-07</dueDate>
<bpAccountNo>46208</bpAccountNo>
<customerName>Testikowsi </customerName>
</accountsReceivableLedger>
<accountsReceivableLedger>
<date>2022-06-07</date>
<amount>62.00</amount>
<accountNo>8401</accountNo>
<costCategoryId>1</costCategoryId>
<tax>19.00</tax>
<currencyCode>EUR</currencyCode>
<invoiceId>470985</invoiceId>
<bookingText>Testikowsi - 470985</bookingText>
<partyId>46208</partyId>
<internalInvoiceId>470985</internalInvoiceId>
<exchangeRate>1.000000</exchangeRate>
<dueDate>2022-06-07</dueDate>
<bpAccountNo>46208</bpAccountNo>
<customerName>Testikowsi </customerName>
</accountsReceivableLedger>
</consolidate>
</LedgerImport>
Für Payable
<?xml version="1.0" encoding="utf-8"?>
<LedgerImport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="5.0" generator_info="c-entron software gmbh" xml_data="Kopie nur zur Verbuchung berechtigt nicht zum Vorsteuerabzug" xsi:schemaLocation="http://xml.datev.de/bedi/tps/ledger/v050" Belegverwaltung_online_ledger_import_v050.xsd" xmlns="http://xml.datev.de/bedi/tps/ledger/v050;>"
<consolidate consolidatedAmount="121.87" consolidatedDate="2022-06-08" consolidatedInvoiceId="964419092" consolidatedCurrencyCode="EUR">
<accountsPayableLedger>
<date>2022-06-08</date>
<amount>121.87</amount>
<accountNo>3401</accountNo>
<costCategoryId>1</costCategoryId>
<tax>19.00</tax>
<currencyCode>EUR</currencyCode>
<invoiceId>964419092</invoiceId>
<bookingText>Also Deutschland GmbH - 209439</bookingText>
<partyId>70202</partyId>
<internalInvoiceId>209439</internalInvoiceId>
<exchangeRate>1.000000</exchangeRate>
<dueDate>2022-07-08</dueDate>
<bpAccountNo>70202</bpAccountNo>
<supplierName>Also Deutschland GmbH</supplierName>
<supplierCity>Soest</supplierCity>
</accountsPayableLedger>
</consolidate>
</LedgerImport>
Ich hoffe ihr könnt helfen
Grüße
Basti
Rechnungsdaten_209020.xml
Rechnungsdaten_209021.xml