Neues Thema starten

Zeilen mehrfach einfügen

 Hallo Synesty Team,


erstmal noch ein gutes und gesundes neues Jahr euch allen.


Gibt es eine Möglichkeit, wie ich nach jeder Gruppierten Spalte eine Zeile einfügen kann, die die Infos aus dem Header enthält?


- Also ich habe eine Rechnung mit zwei Positionen.

- Die positionen stehen untereinander im Mapper.

- Ich gruppiere nach Rechnungsnummer

- Darunter nun eine neue Header Zeile

- Nächste Rechnungspositionen der nächsten Rechnung

- wieder Header

-usw....


Die Zeilen sollen dann auch noch da sein, wenn ich die Gruppierung wieder löse.


Danke vorab


Viele Grüße

Enrico



Klingt erstmal sehr speziell und vermutlich nach einer Custom-Lösung mit TextHTMLWriter / TextHTMLWriterMultiOutput, wo du dir "per Hand" eine oder mehrere CSVs mit diesem Aufbau zusammenbaust. 


Aber mit Beispiel wäre das besserDamit wir das nicht mißverstehen. 

Kannst du mal bitte noch ein Beispiel von Eingabe- und gewünschtem Ausgabe-Spreadsheet posten? 

Hi,
ich mache mal screenshots von den csv-dateien, die ja dem Spreadsheet entsprechen.

so sieht es aktuell aus:

image


und so soll es aussehen:

image


Immer nachdem im Prinzip eine Rechnung mit ihren Positionen fertig ist, dann soll die Trennzeile kommen.

Viele Grüße
Enrico

 

Hallo Enrico,


eine einfache Lösung haben wir dafür nicht, aber du könntest folgendermaßen vorgehen: 


Nach dem CSVReader fügst du als erstes einen Mapper hinzu. Im Mapper musst du folgendes einstellen: 

  • Gruppieren nach Spaltenname: InvoiceNumber   und Gruppiermodus =  Ergebnis als oberste Zeile
  • anschließend eine leere Spalte hinzufügen und hier unter Aggregatfunktionen  = Zeilen zählen auswählen

Du solltest dann folgendes Ergebnis erhalten (vereinfacht):

image


Danach kannst du die Konfiguration speichern und einen weiteren Mapper einfügen, der das Ergebnis aus dem 1. Mapper erhält.


Hier musst du dann in jeder Spalte folgende Bedingung im Wert Feld eingeben ('Sender' muss auf die jeweilige Spalte angepasst werden):  

<#if group_count! != "">Sender<#else>${Sender}</#if>

 

Das Ergebnis sollte dann schon fast wie gewünscht aussehen: 


image


Dieses Spreadsheet kannst du dann in den CSVWriter geben und hier printHeader = No und removeColumns = group_count  einstellen.


Falls du noch Fragen oder Probleme bei der Umsetzung hast kannst du dich gerne bei uns melden.


Viele Grüße

Torsten 



Hallo Torsten,

vielen Dank - das super funktioniert. Wieder ein großer Schritt Richtung EDI-Anbindung.

Kurze Frage noch: Um sich das ganze kopieren zu ersparen - gibt es einen Platzhalter, der den jeweiligen Titel einer Spalte ausliest und einfügt? Dass man, wie in diesem Beispiel, nicht Sender.... etc eintragen muss sondern den Platzhalter setzt? falls nicht, vielleicht wäre das eine Idee für die Zukunft.

So muss man bei Namensänderungen auch nur die Spalte ändern, nicht das Skript.

Viele Grüße
Enrico

 

Hi Enrico,


einen Platzhalter gibt es leider (noch) nicht. Ich werde das mal mit den Kollegen besprechen.


Viele Grüße

Torsten

Anmelden um einen Kommentar zu veröffentlichen