![]() ![]() ![]() ![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objekt EigenschaftenMit 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
Beispiel: Bezeichnung Fett$objs.1669.$fontstyle.$assign(kBold) Beispiel: andere Schriftgröße$objs.1669.$fontsize.$assign(7) Beispiel: Steuerinfo rechts und in blau$objs.TaxTypePrintInfo.$align.$assign(kRightJst) Beispiel: Leistungszeitraum im Infoblock rechts obenSie 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. 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. $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: Beispiel: komplette Spaltenbereiche nach links verschiebenAlle 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) Kopieren eines FeldesBeispiel: Sie wollen in der Zeile mit der Beschreibung ein zusätzliches Feld zwischen Menge und Einheit anzeigen. Um das zu realisieren muss man 3 Dinge tun.
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:
Überschrift erstellen $CopyField($cinst.$objs.1383,'Macthcode',0,-2.7,0,0,0,1.7) Beispiel: Seitenumbruch prüfenMit 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) Beispiele für neue FormulareArtikelnummer drucken zum auswählenMan 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. 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.
Positionsnummer links, Gruppenüberschrift in der Textflucht$objs.DescriptionGroup1.$text.$assign('iListPositions.Description') Preis 0,00 nicht anzeigenDa 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. Menge mit 3 Nachkommastellen$objs.1667.$text.$assign(replaceall($cinst.$objs.1667.$text,'N2','N3')) Menge ein wenig nach linksWenn man die Spalte Menge ein wenig nach links will geht das so: $objs.Amount.$left.$assign($cinst.$objs.Amount.$left-0.3) Benutzer im SchlusstextUm den Benutzer des Dokumentes im Kopf oder Schlusstext zu verwenden fügen Sie das Feld iRowHeader.AdvisorName in den Textblock ein. Wichtig:
Die Option aktueller Benutzer als Sachbearbeiter andrucken wird dabei beachtet.
Section deaktivierenIn diesem Bereich wird der Mehrwertsteuerblock und die Gesamtsumme deaktiviiert $objs.SectionTotalTax.$printif.$assign('kFalse') Metallanteil in der PositionNur 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)) Lieferscheine im Fussbereich andruckenentweder 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) Mehrwertsteuercode nicht immer anzeigenMehrwertsteuercode 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,''))) Nachdruck bei gedruckten Rechnungen andrucken$objs.Copy.$text.$assign(pick(iRowHeader.Printed,$cinst.$objs.Copy.$text,"'Nachdruck'")) Unterschiedliche Fusslogos auf der KopieIm Feld Fusslogo toKplus.$GetPictureFromFile(con(trInfo.KplusClientPath,pick(inCopy>0,'FirmenfusslogoBV.jpg','Firmenfusslogo.jpg'))) Im Feld Properties $objs.binLogoFooter.$dataname.$assign('') Unterschiedliche Kopflogos auf KopieIm Feld Headerlogo Seite 1 pick(inCopy>0,#null,toKplus.$GetLogo($cinst,'Logo')) Lieferdatum = RechnungsdatumIn die Objektproperties $objs.DeliveryDate.$calculated.$assign(ktrue) Neues Propertie in einem Formular verwendenEs 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. 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 |
![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|