EMail senden Mail an den Autor Drucken

vorhergehender Eintrag

nächster Eintrag

Inhalt

Hilfe Index

.

Individual Felder

Objekt Eigenschaften

Mit den Objekteigenschaften kann man beliebige Eigenschaften beliebiger Objekte des Reports verändern.

Man kann darin mehrere Veränderungen machen. Jede Zeile wird getrennt ausgeführt.

Wenn Sie alle Objekte eine Reports mal in einer Liste sehen wollen können Sie das folgendermaßen Abfragen.

Do iRef2Report.$objs.$makelist($ref.$name,$ref.$objtype,$ref.$ident,$ref.$lineno,$ref.$left,$ref.$width,$ref.$top,$ref.$height) Returns lListObjects

In diesem Kapitel

Beispiel: Bezeichnung Fett

Beispiel: andere Schriftgröße

Beispiel: Steuerinfo rechts und in blau

Beispiel: Leistungszeitraum im Infoblock rechts oben

Beispiel: komplette Spaltenbereiche nach links verschieben

Kopieren eines Feldes

Beispiel: Seitenumbruch prüfen

Weitere Kapitel

Belegnummer

Positionsliste ermitteln

Barcode

Header und Fusslogos

Indiv Feld Header

Positionsnummer

indiv Feld Positionen

Indiv Feld Totals

Indiv Hintergrundbild

Mailanhang Ordner

Beispiele für neue Formulare

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiel: Bezeichnung Fett

$objs.1669.$fontstyle.$assign(kBold)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiel: andere Schriftgröße

$objs.1669.$fontsize.$assign(7)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiel: Steuerinfo rechts und in blau

$objs.TaxTypePrintInfo.$align.$assign(kRightJst)
$objs.TaxTypePrintInfo.$textcolor.$assign(kBlue)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiel: Leistungszeitraum im Infoblock rechts oben

Sie wollen das Feld Leistungszeitraum nicht vor dem Kopftext linksbündig sondern rechts oben im Infoblock stehen haben.

Suchen Sie sich dafür im Block eine Zeile aus die der Kunde nicht verwendet.
In meinem Beispiel verwende ich die Zeile Unsere Steuernummer.

Aktivieren Sie die Zeile im Formular und überschreiben die Bezeichnung Unsere Steuernummer mit Leistungszeitraum.

Wenn Sie nun den Beleg drucken steht Leistungszeitraum vor der Steuernummer.
Nun müssen Sie noch den richtigen Inhalt anstelle der Steuernummer einsetzen.

$objs.OurTaxNumber.$text.$assign($cinst.$objs.TimeOfPerformanceFrom.$text)

Damit wird die Calculation des Feldes Leistungszeitraum in die der Steuernummer gestellt.

Sie können anstelle des TimeOfPerformanceFrom.$text jede beliebiege gültige Calculation verwenden.

Und sieht es dann aus:

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiel: komplette Spaltenbereiche nach links verschieben

Alle Felder die zwischen 1 cm und 5 cm beginnen und nach der SectionPositionHeaderPrice und der Totalsection sind(Alle im Records) um 2cm nach links

$objs.$sendall($ref.$left.$assign($ref.$Left-2),$ref.$left>1&$ref.$left<5&$ref.$lineno<$cinst.$objs.Totals.$lineno&$ref.$lineno>$cinst.$objs.SectionPositionHeaderPrice.$lineno)

alle Felder im selben bereich die größer 4 cm sind um 2 cm wieder verlängern, da der Platz ja nun auf der rechten Seite verwendet werden kann

$objs.$sendall($ref.$width.$assign($ref.$width+2),$ref.$left>1&$ref.$left<5&$ref.$width>4&$ref.$lineno<$cinst.$objs.Totals.$lineno&$ref.$lineno>$cinst.$objs.Record.$lineno)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Kopieren eines Feldes

Beispiel:

Sie wollen in der Zeile mit der Beschreibung ein zusätzliches Feld zwischen Menge und Einheit anzeigen.
Dieses Feld wurde per Query in die iListPositions als MatchCode hinzugefügt.

Um das zu realisieren muss man 3 Dinge tun.

  1. Platz zwischen den Feldern machen
  2. Feld erstellen
  3. Überschrift erstellen

Platz erstellen

$objs.$sendall($ref.$left.$assign($ref.$Left+2),$ref.$left>3&$ref.$left<5&$ref.$lineno<$cinst.$objs.Totals.$lineno&$ref.$lineno>$cinst.$objs.SectionPositionHeaderPrice.$lineno)

Feld erstellen

$CopyField($cinst.$objs.Description,'iListPositions.MatchCode',0,-2.7,0,0,0,1.7,'$vertextend.$assign(kFalse)')

Parameter:

 

Feld

Funktion

 

Quellobjekt

Referenz auf das zu kopierende Feld

 

Daten

Dataname für die Daten oder Text wenn immer dasselbe gedruckt werden soll

 

TopDiff

Differenz der Eigenschaft Top. Wenn weder TopDiff noch Top angegeben werden, dann wird das Top des Quellobjektes verwendet.

 

LeftDiff

Differenz der Eigenschaft Left. Wenn weder LeftDiff noch Left angegeben werden, dann wird das Left des Quellobjektes verwendet.

 

Top

Wenn 0 dann wird die Eigenschaft des Quellobjektes verwendet

 

Left

Wenn 0 dann wird die Eigenschaft des Quellobjektes verwendet

 

Height

Wenn 0 dann wird die Eigenschaft des Quellobjektes verwendet

 

Width

Wenn 0 dann wird die Eigenschaft des Quellobjektes verwendet

 

Command 1- 5

Beliebige Eigenschaften
Beispiel: '$vertextend.$assign(kFalse)'

Überschrift erstellen

$CopyField($cinst.$objs.1383,'Macthcode',0,-2.7,0,0,0,1.7)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiel: Seitenumbruch prüfen

Mit diesem Befehl wird geprüft ob für dieses Objekt bereits ein Zeilenumbruch gemacht werden soll oder nicht damit ein Objekt nicht durchgeschnitten wird.

$objs.1592.$pagemode.$assign(kTestspace)

$objs.1592.$pagespacing.$assign(5)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Beispiele für neue Formulare

vorhergehender Eintrag

nächster Eintrag

Inhalt

Artikelnummer drucken zum auswählen

Man hat die Möglichkeit auch verdeckte Schalter für den Kunden nach vorne zu legen, damit der Kunde dies direkt vor dem Druck anwählen kann.

Ein Beispiel dafür ist in der bin/Options/kpindiv.lbs.

Öffnen Sie die Datei bin/Options/kpindiv.lbs mittels Library open.
Dann ziehen Sie die Klasse SFS_ReportProperties per Drag & Drop in die Berichte.

Danach kann man in den benötigten Belegen den Verweis darauf machen.:

Dazu müssen Sie In den Formulareinstellungen das Feld Subwindow mit $libs.berichte.$classes.SFS_ReportProperties befüllen.

vorhergehender Eintrag

nächster Eintrag

Inhalt

Positionsnummer links, Gruppenüberschrift in der Textflucht

$objs.DescriptionGroup1.$text.$assign('iListPositions.Description')
$objs.DescriptionGroup2.$text.$assign('iListPositions.Description')
$objs.DescriptionGroup3.$text.$assign('iListPositions.Description')
$objs.DescriptionGroup4.$text.$assign('iListPositions.Description')
$objs.PositionnumberGroup1.$visible.$assign(kTrue)
$objs.PositionnumberGroup2$visible.$assign(kTrue)
$objs.PositionnumberGroup3.$visible.$assign(kTrue)
$objs.PositionnumberGroup4.$visible.$assign(kTrue)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Preis 0,00 nicht anzeigen

Da es unterschiedliche Situationen der Belege gibt hat hier der Bericht eine eigene Logik.

Immer Leer passt nicht in jeder Situation , ebenso immer 0,00 kann störend sein.

Der Bericht macht dies abhängig von der Einheit. Ist diese Leer dan space ansonsten 0,00.

Dies hat sich in der Praxis als praktikabel erwiesen.
Nun kann man aber die Eigenschaft PriceSum.$zeroempty nicht mehr con aussen beeinflussen.

vorhergehender Eintrag

nächster Eintrag

Inhalt

Menge mit 3 Nachkommastellen

$objs.1667.$text.$assign(replaceall($cinst.$objs.1667.$text,'N2','N3'))

vorhergehender Eintrag

nächster Eintrag

Inhalt

Menge ein wenig nach links

Wenn man die Spalte Menge ein wenig nach links will geht das so:

$objs.Amount.$left.$assign($cinst.$objs.Amount.$left-0.3)
$objs.1387.$left.$assign($cinst.$objs.1387.$left-0.3)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Benutzer im Schlusstext

Um den Benutzer des Dokumentes im Kopf oder Schlusstext zu verwenden fügen Sie das Feld

iRowHeader.AdvisorName

in den Textblock ein.

Wichtig:


Der Schalter Feldinhalten beim verwenden fix ersetzen darf nicht aktiv sein.
Ansonsten tauscht er das Feld beim erstellen des Belegkopfes aus und kann dann beim Druck nicht mehr darauf reagieren.

Die Option aktueller Benutzer als Sachbearbeiter andrucken wird dabei beachtet.

vorhergehender Eintrag

nächster Eintrag

Inhalt

Section deaktivieren

In diesem Bereich wird der Mehrwertsteuerblock und die Gesamtsumme deaktiviiert

$objs.SectionTotalTax.$printif.$assign('kFalse')
$objs.SectionTotalSum.$printif.$assign('kFalse')

vorhergehender Eintrag

nächster Eintrag

Inhalt

Metallanteil in der Position

Nur Metall zusätzlich anzeigen

Als Textbaustein nach Position eintragen:

pick(ilistPositions.RawMaterial<>0&iRowProperties.Price=ktrue,'','__PositionMetall')

Metall vom Einzelpreis abziehen und Summe dazu

Als Textbaustein nach Position eintragen.

pick(ilistPositions.RawMaterial<>0&iRowProperties.Price=ktrue,'','__PositionMetallMitSumme')

In die Objektproperties eintragen:(in der Eingangsrechnung nicht eintragen!)

iListPositions.$sendall($ref.Price.$assign($sendallref.Price-$sendallref.RawMaterial))

vorhergehender Eintrag

nächster Eintrag

Inhalt

Lieferscheine im Fussbereich andrucken

entweder einen Aufruf in den objekt Properties:

$objs.TaxTypePrintInfo.$text.$assign("$cinst.ioPrint.$GetLieferscheineZuRechnung(iRowHeader.DocumentId,iRowHeader.OrderId)")

oder direkt in das Steuerfeld:

ioPrint.$GetLieferscheineZuRechnung(iRowHeader.DocumentId,iRowHeader.OrderId)

vorhergehender Eintrag

nächster Eintrag

Inhalt

Mehrwertsteuercode nicht immer anzeigen

Mehrwertsteuercode für alle Positionen die den Code 2 haben auf 0 stellen.

Damit wird der Code nur für Positionen angedruckt die nicht 2 haben.

iListPositions.$sendall($ref.TaxId.$assign(pick($sendallref.TaxId=2,$sendallref.TaxId,'')))

vorhergehender Eintrag

nächster Eintrag

Inhalt

Nachdruck bei gedruckten Rechnungen andrucken

$objs.Copy.$text.$assign(pick(iRowHeader.Printed,$cinst.$objs.Copy.$text,"'Nachdruck'"))

vorhergehender Eintrag

nächster Eintrag

Inhalt

Unterschiedliche Fusslogos auf der Kopie

Im Feld Fusslogo

toKplus.$GetPictureFromFile(con(trInfo.KplusClientPath,pick(inCopy>0,'FirmenfusslogoBV.jpg','Firmenfusslogo.jpg')))

Im Feld Properties

$objs.binLogoFooter.$dataname.$assign('')
$objs.binLogoFooter.$calculated.$assign(ktrue)
$objs.binLogoFooter.$text.$assign(''[iRowProperties.IndivFooterLogo])

vorhergehender Eintrag

nächster Eintrag

Inhalt

Unterschiedliche Kopflogos auf Kopie

Im Feld Headerlogo Seite 1

pick(inCopy>0,#null,toKplus.$GetLogo($cinst,'Logo'))

vorhergehender Eintrag

nächster Eintrag

Inhalt

Lieferdatum = Rechnungsdatum

In die Objektproperties

$objs.DeliveryDate.$calculated.$assign(ktrue)
$objs.DeliveryDate.$dataname.$assign('')
$objs.DeliveryDate.$text.$assign("pick(iRowHeader.DeliveryDate>'01.01.1900','=Rechnungsdatum',iRowHeader.DeliveryDate)")

vorhergehender Eintrag

nächster Eintrag

Inhalt

Neues Propertie in einem Formular verwenden

Es gibt Formulareigenschaften die beim Druck des Formulars verarbeitet werden die aber nicht in jedem Formular zum Einstellen vorhanden sind.

So ein Beispiel ist der Schalter Set Artikelnummer drucken.
Dieser ist im Lieferschein nicht vorhanden.

Um diesen Schalter auch im Lieferscheinformular zu verwenden, muss dieser in der EinstellungsRow hinzugefügt werden.

Um dies zu erreichen geben Sie in dem Feld Objekt Sourcecode des Formulares folgendes ein:

Do ioListen.$addColumnBool(iRowProperties,'SetPosArticleId',kTrue)

Zum Seitenanfang Drucken