Seite 1 von 1

L&L Neueinstig 3 2-spaltig drucken

Verfasst: Do, 09. Apr 2020 17:07
von Manfred
ich möchte gerne einen 2-spaltigen Ausdruck machen.
Es handelt sich um eine Fahrliste. Pro Spalte auf einer Seite soll jeweils 1 Fahrer mit seinen Touren erscheinen. Also kurz erläutert: links Faher1 mit Kopf und dann als Liste darunter die ganzenen Fahrten. Dann rechts Fahrer 2 ebenso mit Kopf und darunter die ganzen Fahrten. Normalerweise reicht eine Hälfte für alle Fahrten. Sollte es aber vorkommen, das es mehr Zeilen werden als in der Hälfte zur Verfügung stehen, dann muß die 2 Spalte genommen werden und der nächste Fahrer rutscht auf die nächste Seite. Wenn ein Fahrer auf der rechten Seite schon aufgeführt ist, aber die Zeilen da auch nicht reichen, dann wird die nächste Seite linke Spalte genommen. Also im Prinzip rückt alles immer eine Hälfte der Seite weiter. Wie muß man sowas gestalten, oder geht es evtl. sogar schon automatisch?

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Do, 09. Apr 2020 19:57
von Wolfgang Ciriack
Ich würde eine Tabelle 2-spaltig definieren, den Fahrer als Gruppenkopf nehmen, dann die Daten ausgeben. Beim Gruppenkopf Gruppieren nach Fahrernamen, Umbruch vor auf Ja setzen. Wenn du jetzt die Daten sortiert nach Fahrernamen + Datum + Uhrzeit übergibst, sollte das schon passen.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 10. Apr 2020 16:47
von Tom
Für solche Aufgaben lohnt es sich übrigens, die Druckroutine Array-fähig zu machen, was kein großer Aufwand ist.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 10. Apr 2020 16:58
von Manfred
ich stehe ja gerade in den Startlöchern und probiere noch. Deshalb meine Frage(n) hier.
Aber ich übergebe doch kein Array,oder? Ich habe aus den Beispielen genommen, das jeder Satz einzeln übergeben wird? Aber wie verarbeitet L&L da dann weiter?

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 10. Apr 2020 17:22
von Wolfgang Ciriack
Der Druckroutine ist es ja egal, ob die Felder aus Datenbankfeldern oder Arrayelemnten definert werden.
In der Druckschleife rufst du ja deine Routine DefineData (oder wie sie auch immer heißt) auf und darin kannst du ja die Daten zusammenstellen wie du möchtest.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 10. Apr 2020 18:29
von Manfred
ja, das meinte ich ja. Jeder Satz oder jedes Feld werden einzeln übergeben. So habe ich das verstanden. Da L&L ja keinen direkt ZUgriff auf die Datenquelle hat, muß es ja so sein. Deshalb ja mein Stirnrunzeln mit dem Array. Aber ich denke ich habe das falsch verstanden. Ihr meint bestimmt alles in ein Array packen und dann mit DefineData() übergeben.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 10. Apr 2020 19:26
von Wolfgang Ciriack
Array muss ja nicht sein, wenn du deine Datenbank mit einem Index in der richtigen Sortierreihenfolge hast, reicht es ja.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Sa, 11. Apr 2020 14:11
von Tom
Ich habe das zu früh angemerkt, mein Fehler. 8)

Wolfgang trifft den Punkt - L&L ist es egal, wo die Daten herkommen. Man kann Felder aus Tabellen kommen lassen, aus komplexen Joins, man kann sie untergruppieren, man kann viele Quellen verwenden. Und eben auch Arrays - dafür würde man dann die DefineData-Routine umschreiben oder ergänzen oder klonen. Arrays haben viele Vorteile. Man kann die Daten darin sehr viel schneller umorganisieren, etwa sortieren, es ist auch halb so wild, wenn halbe Arrays mal leer sind (deshalb habe ich's hier erwähnt - man kann in Arrays die Touren so mit Leerstellen füllen, dass sie bezogen auf die Zeitfenster synchron laufen, aber über die Gruppen im Formular geht das natürlich auch), und Arrays sind allgemein fixer. Gerade bei Auswertungen, die man drucken will, sind Arrays unumgänglich. Früher oder später sollte man sich sowieso damit befassen.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Sa, 11. Apr 2020 15:26
von Manfred
Danke für den Tipp, werde ich mir zu herzen nehmen. Da ja eh alles neu programmiert werden muß.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Sa, 11. Apr 2020 18:37
von Marcus Herz
Arrays müssen doch auch mit den Daten aus den Tabellen gefüllt werden. Was ist da schneller als direkt an LL übergeben ?

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Sa, 11. Apr 2020 19:57
von Wolfgang Ciriack
Das Sortieren, wenn man kein passenden Index hat und so wie Tom schrieb, bei Auswertungen.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: So, 12. Apr 2020 12:42
von Manfred
Prima, der erste Schritt ist vollbracht. Wenn man erstmal ein wenig den Überblick hat, dann geht es doch recht einfach. Jetzt steht eine einfache Tabelle mit Kopf, der sich wechselt bei entsprechenden Bedingungen. Allerdings war es try & error, bis die Erkenntnis kam, das man nach jedem Kopfdatenwechsel einen Befehl für Seitenwechsel geben muß und nach jeder vollen Zeile einen Zeilenbefehl. Und das man vorher einmal alle DAten rüberschicklen muß, bevor man an den eigentlichen Aufbau geht. Aber alles viel einfacher, als den Kram selbst zu berechnen. ich würde mal sagen auf den ersten Blick spart man mindestens 30-40% Code ein wenn man sich nicht um alles selbst kümmern muß.
Nachher schauen wir dann mal wie mal 2 spaltig drucken kann.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: So, 12. Apr 2020 13:03
von Wolfgang Ciriack
Wenn du jetzt noch Summen hast, die pro Fahrer sind (z.B. Anzahl Aufträge in der Gruppenfußzeile), dann musst du auch diese Summenvariablen bei Gruppenwechsel unter den Bedingungen auf Null setzen. Nur mal als Info, denn das kommt bestimmt irgendwann :D

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: So, 12. Apr 2020 18:01
von Manfred
muß man die Mehrspaltigkeit ganz am Anfang vor allen anderen Aktionen einstellen, oder geht das auch nachher noch? Ich finde irgendwie nichts dergleichen. Auch wenn ich über den Weg des Handbuchs gehe. Oder sagen wir mal so, für den bereich in dem alle Fahrten aufgelistet werden habe ich Anzahl der Spalten gefunden und auf 2 gestellt. Aber wie sieht es mit dem Fahrerkopf aus?

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: So, 12. Apr 2020 21:27
von Tom
Auch Spalten können Darstellungsbedingungen haben. Das geht alles.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 13. Apr 2020 7:09
von Manfred
ok, das mit den Zeilen habe ich ja sofort gefunden. Die stehen jetzt auf 2 spaltig, allerdings scheint das wohl auch mit der Kopfzeile zusammenzuhängen. Ich habe die jetzt über die komplette Seite. Eigentlich sollte die auch 2 spaltig sein und immer über 2 Spalten gehen. Also wenn es wenige Zeilen gibt, dann sollen 2 Fahrer auf eine Seite (2-spaltig) und wenn es mehr Zeilen gibt, dann eben nur 1 Fahrer (auch 2-spaltig) Jetzt ist es so, das immer nur 1 Fahrer euf einer Seite ist, egal ob 2 Spalten benötigt werden oder nicht. Die 2. Spalte bleibt einfach leer.Wo muß ich da schrauben?

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 17. Apr 2020 19:43
von Manfred
hier mal ein Schnappschuss, wie es aussehen sollte
tg1.PNG
tg1.PNG (604.84 KiB) 11674 mal betrachtet
hier wird das komplette Blatt mit einemFahrer ausgefüllt
tg2.PNG
tg2.PNG (202.96 KiB) 11674 mal betrachtet
die nächste Seite zeigt den rest in der ersten Spalte und den nächsten Fahrere in der 2. Spalte.
In dem Fall. Ansonsten sind 2 Fahrer pro Blatt, wenn eine Spalte für die Tour ausreicht.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Fr, 17. Apr 2020 22:00
von ramses
Hallo Manfred

ich habe einige Listen die in deinem "1/2 Spalten Layout" gedruckt werden.
Meine Lösung dabei ist vor der Ausgabe die Werte für die einzelnen Spalten selbst zusammenzustellen.
So geht die Ausgabe ganz einfach.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 20. Apr 2020 9:46
von Tom
Deshalb habe ich auf Arrays verwiesen, Carlo. Man kann das in Formularen zwar mit Gruppenwechselbedingungen und ähnlichen Strukturen hinbekommen, aber es ist eigentlich einfacher, die Daten schon so aufzubereiten, dass eine normale Tabelle mit zwei Tabellenspalten automatisch richtig layoutet wäre, mit einem zweidimensionalen Array als Datenquelle.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 20. Apr 2020 10:13
von Manfred
ok, also Konsenz ist, man bereitet das für L&L auf und läßt es nicht L&L machen. Ich hatte gedacht man könnte das irgendwie zusammenbasteln im Designer, deshalb meine Frage hier. Das heißt aber auch, ich muß mich um die Prüfung ob alles paßt usw. selbst kümmern und entsprechend Seitenwechsel usw. vorgeben!? Oder sehe ich das jetzt falsch?

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 20. Apr 2020 10:25
von Tom
Es geht beides, Manfred, und natürlich ist es irre elegant, nachgerade lässig, die Macht des Reportgenerators für eine solche Aufgabe zu nutzen. Aber einfacher ist es tatsächlich, die Daten so aufzubereiten, dass sie in einer zweispaltigen Tabelle schon richtig formatiert daherkommen, und dann muss man sich im Formular nur noch um die Seitenwechselbedingungen kümmern. Aber Konsens ist es nicht notwendigerweise, das in die Programmlogik zu ziehen. Wenn man alles oder möglichst viel im Formular macht, lässt sich ein Paradigmenwechsel - der Kunde will das plötzlich ganz anders - sehr viel leichter und ohne Programmierarbeit bewerkstelligen. Alles hat seine Vor- und Nachteile.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 20. Apr 2020 10:28
von Manfred
OK, aber dann wäre meine Eingangsfrage noch offen, wie bringt man das dem Designer bei? Ich möchte ja wirklich so viel wie möglich in den Designer auslagern um Code zu reduzieren und das Ergebnis flexibel zu halten. Jetzt habe ich es so, das der Kopf mit dem Fahrer immer über der linken Spalte gedruckt wird (es soll jedesmal ein Fahrer über der Spalte stehen) und jedesmal eine neue Seite angefangen wird, wenn auch der Fahrer wechselt, egal ob die rechte Spalte frei ist. (wo ja dann der nächste Fahrer anfangen sollte.)

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 20. Apr 2020 10:32
von Manfred
ach so, wo ich mir derzeit auch noch einen abbreche ist, wie bekomme ich unter einer Gruppe einen horizontalen Strich gezogen? Muß ich da eine zusätzliche Zeile jedesmal erzeugen? Unterstreichen habe ich schonmal versucht, sieht aber irgendwie ein wenig "ungewöhnlich" aus.

Re: L&L Neueinstig 3 2-spaltig drucken

Verfasst: Mo, 20. Apr 2020 10:42
von Marcus Herz
Eine andere Lösung für deinen 2-spaltigen Druck:
- du kannst im Designer (ab V 25) einstellen, dass er 2-spaltig HORIZONTAL druckt. Dann kannst du dein Datenarray (Gruß an Tom) abwechselnd mit Fahrer 1 und Fahrer 2 füllen (Fahrer 1 immer links, Fahrer 2 immer rechts), ist ein Fahrer früher ferig, musst du leer Array übergeben. Damit hast du gewährleistet, dass, falls ein Fahrer einen kürzere Liste hat, nicht LL mit dem Rest die andere Spalte auffüllt. Und du kannst einen Seitenumbruch definieren.
- Striche musst du über Rahmen auf JEDER Spalte einstellen, zur Not eine Leerspalte, damit der Rahmen ganz bis rechts geht. Du kannst mit CRTL mehrere Spalten markieren und dann eine Einstellung für alle markierten vornehmen.