Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#9

AW: FastReport - Zuordnung Page zu DataSet-Record

  Alt 26. Okt 2022, 00:22
Wie gesagt, das Drucken selber ist nicht das Problem und die Größen der Seiten (exportieren Bitmaps) passen ... abgesehn von dem Splittfehlerchen.

Wir hatten nur beim Test paar Mal das Problem, dass ein Datensatz (MasterData) auf zwei Seiten zerteilt war.


Ja, bezüglich DotMatrixReport hatte ich vorhin auch in der Hilfe gelesen, dass es nicht genau das ist, was man wir/ich sich unter dem Namen vorstellte.
https://www.fast-report.com/document...ix_reports.htm

Das mit fr01cm war schon bekannt, daher schon lange Page.SetSizeAndDimensions(DMPAPER_USER, _Width / fr01cm, _Height / fr01cm);
Überhaupt erstmal rauszubekommen was intern das für Werte sind (bisher ja immer nur über den Designer eingestellt), die man da angeben muß und dann eben auch noch das fr01cm zu finden, was schon ein bissl Arbeit,
sowie wo man gewisse Optionen programmseitig findet, welche in den OptionsDialogen gemacht werden konnten.

Aber wir sind eh noch etwas am rumprobieren, bezüglich einiger Settings.

Ja, was ist "richtig designt ist" ... sooo winzig und Pixelgenau mußte es bisher nie sein ... viele Einstellungen ausprobiert, aber dieses Problem noch nicht verhindern können.



ShiftMode bei allen Komponenten ist auf smDontShift und die Margins und Gaps sind auf 0, damit selbst bei den winzigen "Rändern", um Alles, es keine automatischen Verschiebungen gibt, denn bei den pixel-kleinen Abständen überschneiden sich auch so schon die Komponenten.
MasterData.AllowSplit=False, ShiftEngine=seDontShift, StartNewPage=True (oder False ... egal, weil kein Unterschied)
irgendwo gab es noch was bezüglich Overlap (finde es grade nicht), was wir ausprobiert hatten.

Wenn ich absichtlich den QRCode unten bzw. rechts überstehen lasse, dann kommt das im Anhang bei raus.
Das ist eigentlich aktuell unser wichtigstes Problem, weswegen ich eben nicht einfach sagen kann PageNo=RecNo und weswegen ich aus dem Report auslesen wollte was wo liegt, damit es "sicher" richtig ist.




Ja, von einem Designer hatten wir schon den Wunsch, dass man einen Report designen und auf unterschedliche Größen anpassen kann,
aber aktuell ist es eh technisch nicht möglich. (bzw. keine Zeit da jetzt auch noch einiges umzubauen)
Theoretisch könnte man im ReportScript oder in einem Feld des DataSet auch das Format mitgeben, aber intern (unser Code) ist es etwas schwer dieses dann zum ReportDesigner, bzw. für die Nach-/Vorarbeiten beim Drucken durchzureichen.
- Vor/beim Prepare, bzw. vorm Öffnen des Designers, müsste dann entsprechend die Seiten-Größe gesetzt werden (falls sie nicht passt) und auch in den Nacharbeiten am Bitmap.
- Falls der exportierte ReportDruck nicht ganz pixelgenau ist, wird das eine Rundungspixel im Width/Height nochmal angepasst, denn für Barcodes kommt es bei diesen kleinen Größen auf jedes Pixel an, da nach Übergaben an die HerstellerAPI wird das Bild im Seitenverhältnis gestetcht, falls es nicht passt. Ja, wir hatten ausversehn dort in deren API anfangs mal ein Pixel in der Höhe vergessen, dann fehlten dadurch in der Breite auch 3 Pixel und schon war der Barcode nicht mehr lesbar ... schlimmer noch, teilweise wurden auch falsche Daten erkannt und die auch noch bei jedem Scan unterschiedlich.

Also aktuell: ein designeter Report = eine GeräteGröße (ist aber für den Anfang auch erstmal OK so)



Unser Probierpacket hat 15 Verschiedne (meistens 2 von Jedem, von den Großen 1 und manche auch mehr)
Der/die Hersteller haben wesentlich mehr im Angebot. (bis hin zu extrem Großen mit mehreren Metern Länge)
Effektiv werden es wohl 1 bis vielleicht 5 sein, denke ich mal, aber das ist im Prinzip egal. (hab da meine Verwaltungsdaten und Schnittstellen relativ unabhängig gestaltet, bis hin, dass für den Export auch andere API/Anbieter hinzugefügt werden können)

Das Template lässt sich aktuell über die API nicht vom Programm erstellen (der deutsche Anbieter/Cloud hier hat auch noch eine etwas ältere API, so dass zusätzlich auch noch Anderes fehlt, was der Chinese schon bietet).
Da ich somit eh die Templates erstellen mußte (das unsere Kunden machen zu lassen ... zu gefählich ... wie gesagt, ein Pixel hatten wir auch schonmal übersehn), hab ich passend auch alle Geräte unseres Probepacks ... mir die Definitionen (Name,Width,Height,Color,Rotation) rausgesucht und als Liste in unserem System.





Nochmal, wie gesagt, im Grunde brauch ich nur eine Zuordnung von Record zu Page. (irgendwie muß das ja gehen)
Damit wäre dann auch alles egal, wie Report nicht richtig designed, sowie sonstige jetzt noch unbekannte oder zukünftige Probleme.
Da womöglich zukünftig auch einige Kunden selber solche Reports erstellen werden, kann ich garnichts ausschließen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Okt 2022 um 00:37 Uhr)
  Mit Zitat antworten Zitat