Margins variabel verändern
Andreas Eugster
Hallo zusammenIch möchte bei einem E-Mail den Bottom = 1cm haben und wenn es normal ausgedruckt wird Bottom = 3.
Folgenden Code habe ich dazu:
If(GetData("LD.Par.PrintMode")="E") Then
Engine.TemplatePage.Margins.Bottom = 1.0
Else
Engine.TemplatePage.Margins.Bottom = 3.0
End If
Doch leider kommt jetzt da der Fehler, dass Engine.TemplatePage.Margins.Bottom ein Wert ist und so nicht zugewiesen werden kann.
Könnte mir bitte jemand sagen, welche Syntax korrekt wäre?
Gruss
Andreas Eugster
Andreas Eugster
Weis niemend etwas? Es ist nämlich ziemlich wichtig.Gruss
Andreas Eugster
Manuel Marhold
Hi Andreas,klingt danach, dass man den Wert zur Laufzeit nicht ändern kann.
Gruß
Manuel
Andreas Eugster
ja, das habe ich auch in betracht gezogen, gibt es denn eine andere Möglichkeit?Manuel Marhold
Hi Andreas,ich würde evtl. 2 Layoutdefinitionen bei der Printdefinition hinterlegen und dann per Query
für die Copies der EMail-Layoutdef. undSELECT CASE WHEN [%PrintMode]='E' THEN 1 ELSE 0 END
für die Normale Layoutdef.SELECT CASE WHEN [%PrintMode]='E' THEN 0 ELSE 1 END
Problem: du musst, wenn du das Formular änderst, immer beide ändern.. ich glaueb das mit dem Mastertemplate ist genau falschrum.. da läst du verschiedene Inhalt in ein umrahmendes Layout.. das passt hier also nicht.
Gruß
Manuel
Andreas Eugster
Ich wollte eben aus diesem Grund alles auf einem Layout, damit ich es nicht bei beiden ändern muss...Sonst keine Idee?
Was ist mit Engine.FreeHeight?
Manuel Marhold
leider keine Idee, wofür das ist..müssteest du auf Antwort von einem coresystems-Mitarbeiter warten..ginge es denn nicht, das Formular zu erstellen, dann über File-Save as zu exportieren und bei anderen über file-open zu öffnen, dann Margin umstellen und fertig.
Manuel
Andreas Eugster
Es ist eben so, dass nicht alles gleich ist. Zum Beispiel muss ich Logos beim Mail andrucken und beim "normal Druck" nicht.Manuel Marhold
ist das viel, was unterschiedlich ist? wenn nein, kannst du das dann nich über Parameter machen?Parameter: PrintLogo
SQL-Query:
SELECT CASE WHEN [%PrintMode]='E' THEN 'Y' ELSE 'N' END
Manuel
Andreas Eugster
Naja ich kann ja auch die Interne Variable nutzen, dafür ist kein Parameter nötig :)Eigentlich ist es nicht soo viel, aber wenn man das überall macht wird es auf einmal viel. Dieser Kunde hat leider schon so genug Belege, daher will ich das nicht künstlich vergrössern.
Ich warte mal ab, hoffe es hat noch jemand eine andere Idee.
Philipp Knecht
HalloAm einfachsten machst du einen weiteren PageFooter rein.
Auf dem vsisble Property sagst du dann GetData("LD.Par.PrintMode") = "E"
hth
Andreas Eugster
Ja das habe ich bereits, doch mein Problem ist, dass wenn ich es nicht per Mail schicke, es auf einem vorgedruckten Papier rauskommt, wo der Footer vorgedruckt auf dem Papier ist. Per Mail soll dieser Eingefügt werden.Damit es dann auf dem Ausdruck nicht übereinander schreibt, muss ich bei Margins->Bottom 3.5 cm reinmachen. Wenn ich das dann per mail mache, ist es dort auch 3.5cm jedoch sollte es dort bei 0 sein.
Gruss
Andreas Eugster
Manuel Marhold
Hi Andreas,wenn du eine Grafik hast, die mal im Footer gedruckt werden soll und mal nicht, dann sezt die .Visible-Eigenschaft auf True oder False. Nur darf der Fotter weder auf CanGrow noch auf CanShrink stehen. Dann bleibt der Fotter auch so groß und du hast das Problem gelöst.
Gruß
manuel
Andreas Eugster
Im Footer sind nicht nur Bilder drin, sonst würde ich das anderst lösen. (Auf die Page mit Property) Da aber der Text selber geschrieben ist, muss ich alles mit Bild in einen Footer setzten.CanGrow bez CanShrink ist nicht aktiv. Ich weiss auch gerade nicht was das für eine Rolle spielt. Denn der Abstand vom unteren Rand bis zum beginn des Textes bez. der Daten ist ausschlaggebed nicht die grösse.
Philipp Knecht
Hi AndreasMargins kann nicht dynamisch gesetzt werden.
(habs mit der neusten Beta getestet)
Aber du kannst den margin ja uf 0 setzen und den Margin mit einem leeren Pagefooter simulieren?
hth
Andreas Eugster
Danke PhilippIch habe jetzt den Footer vom Mail drin und einfach die Visible der einzelnen Felder gesetzt. Den Footer auf 4cm grösse und CanShrink, CanGrow rausgenommen.
Danke für die inputs.
ps: Wäre vlt noch für eine weitere Version etwas, wenn man Margins überschreiben könnte.
Gruss
Andreas
Daniel Ebi
Hallo zusammen,dieser Thread ist ja zwar schon ein wenig älter, aber ist es richtig, dass die Margins immernoch nicht dynamisch generiert werden können?
Danke und Gruß
Daniel
0
Please sign in to leave a comment.
Comments
0 comments