Seitenzählung im Rechnungsformular

Alles über Formulare, deren Erstellung und deren eventueller Austausch

Moderator: SYNERPY

Antworten
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Seitenzählung im Rechnungsformular

Beitrag von jassenbaum »

Hallo zusammen!

Ich bin dabei, für unsere Firma die Druckformulare anzupassen, und im großen und ganzen erfolgreich. Nur mit dem Rechnungsformular (FRDCMRESMB_NEU) komme ich nicht weiter. Das errechnet immer wieder zu große Seitenzahlen, z.B. "Seite 1/2", ohne dass die letzte Seite im Ausdruck erscheint.

Ich habe im Forum gesehen, dass das von ein paar Jahren schon einmal ein Problem war, aber behoben sein sollte...

Wir haben die Software V 3.6.0.15 und GDB AVERP2009-A.05 und der Ausdruck geht auf Firmenbriefpapier, d.h. mit unsichtbaren Kopf- und Fußbereichen.

Weiß jemand Hilfe bzw. kann ich da überhaupt selber etwas machen?

Grüße vom jassenbaum
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo,
bei jeder Rechnung oder nur bei einer speziellen ? Wird wirklich nur eine Seite angedruckt, aber es steht im Rechnungskopf 'Seite 1/2' ? Oder ist ein zweites (unnötiges weil leeres) Blatt mit dabei ?
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Beitrag von jassenbaum »

Nun, nicht bei jeder Rechnung, aber auch bei keiner speziellen. Immer dann, wenn unten nur noch wenig Platz ist. Das hängt offenbar mit leeren Bändern am Seitenende zusammen, die nicht gedruckt werden (mit "edit page" kontrolliert).

Und nein, es kommt kein leeres Blatt mit raus.

Gruß vom jassenbaum
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Da müsste man wohl in die OnBeforePrint-Methode der jeweiligen letzten Bänder eine Überprüfung reinsetzen, ob überhaupt Daten zum Drucken da sind. Wenn nicht, dann komplettes Band auf visible = false setzen.

Da scheint der Report leider unsauber programmiert zu sein :roll:
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Beitrag von jassenbaum »

Unsauber programmiert ist gut - ich würde ziemlich chaotisch sagen :?

Ok, ich habe alle Bänder nach dem letzten gedruckten auf visible=false und PrintChildIfInvisible= true, das letztere ist für die MitAGB-Abfrage ganz zum Schluss nötig. In dem Kontext steht auch die Seitenberechnung:

Code: Alles auswählen

  if not FinalPass then
    ArrSG[SeitenGruppe] := Seite;
  Seite := 0;
die ich versuchsweise mal auskommentiert habe. Dann steht allerdings immer "Seite 1/1" über jeder Seite, auch bei mehrseitigen Rechnungen...

Aber irgendwas muss es mit dem ArrSG zu tun haben. Wo steht eigentlich der Code dafür?

Gruß vom jassenbaum
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Zumindest mal Teile davon in ...
Band 'Seitenkopf' (=bdPH) im OnBeforePrint
Band 'Hauptdaten' (=bdMD) im OnBeforePrint
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

... zudem im Band 'bdLastChild'
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Beitrag von jassenbaum »

Danke, die Stellen kenne ich schon. Meine Frage ging eher dahin, wie ArrSG eigentlich funktioniert, warum ein Array und so...

Aber jetzt erstmal Pause, ich muss noch anderes tun. Ich meld mich wieder.

Gruß vom jassenbaum
SYN20
Beiträge: 95
Registriert: Do Aug 23, 2007 1:54 pm

Beitrag von SYN20 »

Hallo jassenbaum,

in ArrSG[SeitenGruppe] wird im ersten Druckdurchlauf die Seitenzahl der Rechnung gespeichert, damit diese beim zweiten Durchlauf schon ab der ersten Seite zur Verfügung steht. Die Seitenzahl wird in einem Array gespeichert, da ein Ausdruck aus der Datenübersicht über mehrere Rechnungen erfolgen kann.

Wenn Sie beim Ausdruck keine zweite leere Seite bekommen, deaktivieren Sie bitte in den Report Optionen des Drucks den zweiten Durchlauf. Anschließend prüfen Sie bitte, wie viele Seiten im ersten Durchlauf angedruckt werden.

Gruß,
Syn20
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Beitrag von jassenbaum »

Hallo Syn20,

wenn ich den zweiten Durchlauf deaktiviere, erhalte ich zwei Seiten, wobei auf der ersten beide Köpfe stehen - erst der der Seiten >1, dann der von Seite 1 - und der der Seiten >1 noch ohne aktuelle Daten, also mit "mePHThema" und leerem Datum. Ansonsten steht überall "Seite 1/1".

Gruß vom jassenbaum
SYN20
Beiträge: 95
Registriert: Do Aug 23, 2007 1:54 pm

Beitrag von SYN20 »

Hallo jassenbaum,

diese Konstellation kann ich bei mir nur rekonstruieren, indem ich die, bei mir vorhandene, Zeile

Code: Alles auswählen

bdCBKopf.visible := False;
im Page1.OnBeforePrint auskommentiere. Bitte prüfen Sie, ob diese vorhanden ist.

Gruß,
Syn20
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Setzen Sie die Eigenschaft "Breaked" aller Bänder auf "false".
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Beitrag von jassenbaum »

@SYN20

Bei mir war Page1.OnBeforePrint leer - besagte Zeile eingefügt, und Problem behoben! Zumindest meine einseitige Testrechnung kommt jetzt richtig mit "Seite 1/1" heraus, auch nachdem ich den zweiten Durchlauf wieder eingeschaltet habe. Weitere Tests morgen...

@admin

Ich habe Breaked-Einstellungen erstmal so gelassen wie sie waren, ein paarmal True ist vorhanden.

Gruß vom jassenbaum
jassenbaum
Beiträge: 12
Registriert: Do Okt 01, 2009 10:17 am

Beitrag von jassenbaum »

Ich will noch kurz berichten: In einer ganzen Reihe weiterer Tests hat es keine falschen Seitenzahlen mehr gegeben.

Danke für die Hilfe.

Gruß vom jassenbaum
Antworten