Guten Morgen,
ich habe eine Eigenschaft als Userfeld an einem Artikel. Diesen möchte ich im Druck als Textfeld hinzufügen. Wenn dieses Feld leer ist, soll das Feld deaktiviert sein, oder halt nicht gedruckt werden und das da runter liegende um eins nach oben rutschen.
Guten Morgen,
Wenn du ein "Benutzerdefiniertes Feld" (User-Feld) in der Klasse "Artikel" angelegt hast, ist es sinnvoll die Sage-Bordmittel zu nutzen um das Feld auch in der Klasse "Verkaufsbelegpositionen" und / oder "Einkaufsbelegpositionen" automatisch übertragen zu bekommen.
Wenn du im Sage-Administrator in der Klasse "Verkaufsbelegpositionen" und/oder "Einkaufsbelegpositionen" ein namensgleiches User-Feld mit gleichem Datentyp / Einstellungen anlegst, dann wird dies in der Belegerfassung automatisch mit den Daten aus dem Artikelstamm gefüllt.
(das macht man im Sage-Administrator idealerweise mit "drag an drop" - das in der Klasse Artikel angelegte Feld eben in die Klasse Einkaufsbelegpositionen und/oder Verkaufsbelegpositionen ziehen)
Auf diese Art hast du die Felder auch in den temporären Tabellen zur Verfügung - und diese werden automatisch in die Datenquelle für den Belegdruck eingebunden. Nebenbei kannst du diese Felder auch in der Belegerfassung (Positionen) anzeigen lassen.
In deinem Bericht (Stimulsoft Report-Designer) musst du an entsprechender Stelle ein neues Textfeld einfügen "txtMeinNeuesFeld" und diesem dann in den Eigenschaften die Datenspalte tKHKPrintPositionArtikel?K_USER_MeinNeuesFeld zuweisen.
Die Bedingung könnte lauten: (ohne Gewähr - nur mal so aus dem Ärmel geschütelt)
txtMeinNeuesFeld.Enabled = Not IsNull(dts?KSubPositionArtikel.tKHKPrintPositionArtikel?K_USER_MeinNeuesFeld"
Das Platzieren kann an der ein- oder anderen Stelle im Bericht etwas tricky sein - gerade, wenn Panel in Panel in Panel angelegt sind - und du mit einem Andock-Stil arbeiten willst.
Da musst du möglicherweise die Größe deines Datenbandes und der Panel anpassen.
Das braucht etwas Übung / Erfahrung und auch ein paar Versuche...
Ich hoffe das hilft dir weiter,
C.Mayer