REFLEX Standard-Report Lieferschein summiert: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Vorschau)
(Tabelle AuftrPosZuLieferschPos)
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 27: Zeile 27:
 
== Bereiche ==
 
== Bereiche ==
  
 +
Die Bereiche im Kopf sind gleich wie unter [[REFLEX Standard-Report Lieferschein]] beschrieben.
  
=== [[Datei:1.png]] Seitenkopf, Seitenfuss ===
 
  
Diese Bereiche kommen aus dem [[REFLEX Standard-Basis-Report|Basis-Report]]. '''Änderungen''' sollten '''immer im Basis-Report''' vorgenommen werden, weil diese sich auf '''alle anderen Reports''' auswirken, die den Basis-Report verwenden!
+
=== Positionen ===
  
 +
Zentrales Band der Positionen ist das Band '''DetailPositionen'''. Es gehört zum Band-Typ '''DetailData''' mit den Daten aus der Tabelle '''LieferscheinPositionenSummiert'''.
  
==== Der Bereich ====
+
[[Datei:Standard_Lieferschein_04_Positionen.png]]
  
[[Datei:Standard_Lieferschein_02_PageHeader.png]]
 
  
 +
In den DetailPositionen werden die '''eigentlichen Lieferschein-Positionen''' ausgegeben.
  
=== [[Datei:2.png]] Lieferanschrift ===
+
In '''DetailPositionenOnBeforePrint''' gibt es einigen Code, der das Verhalten der Objekte dieses Bereiches beeinflusst.
  
Die Lieferanschrift  liegt im '''BasisSeitenkopfChild''' aus dem Basis-Report.
 
  
Man kann also auch Felder in einen Bereich legen, der eigentlich nicht zum eigentlichen Report gehört. Die sind dort aber nur in dem Haupt-Report, nicht im Basis-Report!
+
=== Einzelartikel ===
  
Die Felder haben die Eigenschaften (rechte Maustaste und Option wählen)
+
In diesem Bereich werden Einzelartikel-Daten angezeigt.
  
* '''Dehnen''': Das Feld wird automatisch an die Höhe des Inhalts angepasst.
+
[[Datei:Standard_LieferscheinSummiert_01_SubDetailBand.png]]
* '''Verschieben wenn Überlappung''': Das Feld wir nach unten verschoben, wenn sich ein Feld darüber ausdehnt.
 
  
 +
Es handelt sich hierbei um ein sog. "Sub-Detail-Band", also eine Art Unter-Band, das unterhalb des Details-Bandes ausgeführt wird. Es ist der Tabelle (DataSet) "EinzelartikelLieferscheinPosSummiert" zugeordnet. Das Druckprogramm sorgt dafür, dass dort die wichtigsten Daten der auf die Position ausgegebenen Einzelartikel aufgeführt werden.
  
 +
[[Datei:Standard_LieferscheinSummiert_02_SubDetailBandFelder.png]]
  
=== Der Kopf ===
+
In diesem Fall wird nur die Inventarnummer in 9 Spalten aufgeführt:
  
Die folgenden Bereiche gehören alle zum Lieferscheinkopf.  
+
[[Datei:Standard_LieferscheinSummiert_03_SubDetailBandSpalten.png]]
  
Die Bänder haben alle das Dataset '''AuftragsKopf'''. Sie gehören zum Band-Typ '''MasterData''', werden also nur '''ein mal''' ausgegeben!
+
Natürlich kann man auch mit weniger oder nur einer Spalte arbeiten und z.B. die Serien-Nummer einfügen.
  
Der Kopf ist in verschiedene Bereiche eingeteilt, die teilweise unter bestimmten Umständen unterdrückt werden.
 
  
[[Datei:Standard_Lieferschein_03_Kopf.png]]
+
== Tabellen und Felder in diesem Report ==
  
  
  
==== [[Datei:3.png]] Erste Seite: Formular-Titel, Datum, Seiten-Nummer ====
+
=== Tabelle LieferscheinKopf ===
  
Der Bereich '''MasterAuftragskopf''' beinhaltet den Formulartitel und die Seitennummer für die '''erste Seite'''.
+
{| class="wikitable" style="text-align: left;width: 80%;"
(Die Schrift ist etwas größer als der Titel für die Folgeseiten)
+
!style="width: 30%;"|Feld
 +
!style="width: 5%;"|Typ
 +
!style="width: 5%;"|Größe
 +
!style="width: 60%;"|Beschreibung
 +
|- valign="top"
 +
|style="width: 30%;"|LieferscheinNr
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftrNr
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|LieferscheinDatum
 +
|style="width: 5%;"|DateTime
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|DruckDatum
 +
|style="width: 5%;"|DateTime
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|DruckZeit
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|DruckUser
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AdressKurzname
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|NameFirma
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|160
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Ansprechpartner
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Strasse
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|LandKennzeichen
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|5
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|PLZ
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Ort
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|LandName
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|VersandArt
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|VersandText
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Text
 +
|style="width: 5%;"|Memo
 +
|style="width: 5%;"|0
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AusLagerGenommenVon
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|KontrolliertVon
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|VerladenVon
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Sprache
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|1
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Filiale
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|5
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|LieferKennzeichen
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|}
  
Das Feld für den Formular-Titel hat folgenden Inhalt:
+
=== Tabelle LieferscheinPositionen ===
  
[Titel] Nr. [LieferscheinKopf."LieferscheinNr"] vom [Date]
+
{| class="wikitable" style="text-align: left;width: 80%;"
 
+
!style="width: 30%;"|Feld
 
+
!style="width: 5%;"|Typ
{| class="wikitable" style="text-align: left;"
+
!style="width: 5%;"|Größe
!Feld
+
!style="width: 60%;"|Beschreibung
!Beschreibung
+
|- valign="top"
 +
|style="width: 30%;"|LIEFSCHNR
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|PosNr
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Kennzeichen_1M_2VK_3MV
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ArtNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|14
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ArtLfdNr
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GRUPPE
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Typ
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Bezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|255
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|SetKennzeichen
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikelart_1M_2VK_3DL_4AZ
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftrNr
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftragsKapitel
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftragsPosNr
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Menge
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Einheit
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|DatumVon
 +
|style="width: 5%;"|DateTime
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ZeitVon
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|5
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|DatumBis
 +
|style="width: 5%;"|DateTime
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ZeitBis
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|5
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|BerechnEinheit
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|6
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|EINSTAGE
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|EINSWOCHEN
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|EINSMONATE
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|BerechnenEinheit
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ERFUSER
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ERFDATUM
 +
|style="width: 5%;"|DateTime
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ANDDAT
 +
|style="width: 5%;"|DateTime
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Text
 +
|style="width: 5%;"|Memo
 +
|style="width: 5%;"|0
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|FreiText
 +
|style="width: 5%;"|Memo
 +
|style="width: 5%;"|0
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|FremdMenge
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Einzelartikel_SetKennzch
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ChargenNummer
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|30
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|VDE_Warnung
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Text
 +
|style="width: 5%;"|Memo
 +
|style="width: 5%;"|0
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Obergruppe
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Gruppe
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Untergruppe
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Typ
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Bezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|255
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Einheit
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Kennz1
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|15
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Kennz2
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|15
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Kennz3
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|15
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Kennz4
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|15
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Kennz5
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|15
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Hersteller
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|30
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_UrsprLand
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|6
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Abmessungen
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|20
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_NettoGewicht
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_BruttoGewicht
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Volumen
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_VerpEinheit
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_AbmessungenVK
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|20
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_NettoGewichtVK
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_BruttoGewichtVK
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_VolumenVK
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_ArtikelArt
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Einzelartikel
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Dispoartikel
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Bestandsfuehrung
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_MwstKennz
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_KundArtNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_AlteInventarNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|16
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_InventarNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_SerienNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_AnlagenNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|16
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_Lagerort
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Artikel_EKPreis
 +
|style="width: 5%;"|BCD
 +
|style="width: 5%;"|34
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Auftrag_Menge
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Auftrag_Faktor
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Auftrag_RabattProz
 +
|style="width: 5%;"|BCD
 +
|style="width: 5%;"|34
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Auftrag_EinzelPreis
 +
|style="width: 5%;"|BCD
 +
|style="width: 5%;"|34
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftrKapitelBezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|255
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|KundenArtikelNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|1
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|SetKurzname
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|60
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|SetBezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|100
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|SetBemerkung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ObergruppeBezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GruppeBezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|UntGruppeBezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|50
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|BERECHNENJN
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|RECHNR
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|RECHPOSNR
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|RECHUNTPOSNR
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GesamtBruttoGewichtMiete
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GesamtNettttoGewichtMiete
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GesamtBruttoGewichtVK
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GesamtNettttoGewichtVK
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GesamtVolumenMiete
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|GesamtVolumenVK
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Packstueck
 +
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 
|- valign="top"
 
|- valign="top"
|<code>[Titel]</code>
+
|style="width: 30%;"|PACKSTUECK_KOPF_ID
|Diese Variable wird vom Programm an den Report übergeben. Der Text dazu kommt aus den Programm-Parametern. [[REFLEX-Basic Formular-Titel|Weitere Informationen dazu]]
+
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 
|- valign="top"
 
|- valign="top"
|<code>[LieferscheinKopf."LieferscheinNr"]</code>
+
|style="width: 30%;"|PACKSTUECK_KOPF_AUFTR_LFDNR
|Hier wird die Lieferscheinnummer ausgegeben.
+
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 
|- valign="top"
 
|- valign="top"
|<code>[Date]</code>
+
|style="width: 30%;"|PACKSTUECK_POS_ID
|In dieser Systemvariable steht das aktuelle Tagesdatum.
+
|style="width: 5%;"|Integer
 +
|style="width: 5%;"|4
 +
|style="width: 60%;"|
 +
|}
  
Alternativ dazu könnte man auch das gespeichert Druckdatum benutzen. Das Feld würde dann so aussehen:
+
=== Tabelle LieferscheinPosSummiert ===
  
  [Titel] Nr. [Lieferschein."LieferscheinNr"] vom [LieferscheinKopf."DruckDatum"]
+
Beinhaltet die nach Artikel summierten Lieferschein-Positionen. "Menge" ist dabei die auf die jeweiligen Artikel ausgegebene '''Lieferschein-Menge''', was nicht unbedingt die in der Auftragsposition stehende Ausgabemenge ist. Es könnten ja mehrere Lieferscheine für eine Auftragsposition ausgegeben worden sein!
  
 +
{| class="wikitable" style="text-align: left;width: 80%;"
 +
!style="width: 30%;"|Feld
 +
!style="width: 5%;"|Typ
 +
!style="width: 5%;"|Größe
 +
!style="width: 60%;"|Beschreibung
 +
|- valign="top"
 +
|style="width: 30%;"|AuftragsKapitel
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftragsPosNr
 +
|style="width: 5%;"|SmallInt
 +
|style="width: 5%;"|2
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ArtNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|20
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Menge
 +
|style="width: 5%;"|Float
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|AuftragsKapitelBezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|255
 +
|style="width: 60%;"|
 
|}
 
|}
  
;Hinweis:
+
=== Tabelle LieferscheinArtikelTexte ===
:Der Titel für die Folgeseiten wird über den Header der Positionen '''HeaderPositionen''' ausgegeben.
 
  
 +
{| class="wikitable" style="text-align: left;width: 80%;"
 +
!style="width: 30%;"|Feld
 +
!style="width: 5%;"|Typ
 +
!style="width: 5%;"|Größe
 +
!style="width: 60%;"|Beschreibung
 +
|- valign="top"
 +
|style="width: 30%;"|ArtNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|20
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Typ
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Bezeichnung
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|255
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Kurzname
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ArtikelText
 +
|style="width: 5%;"|Variant
 +
|style="width: 5%;"|0
 +
|style="width: 60%;"|
 +
|}
  
 +
=== Tabelle EinzelartikelLieferscheinPosSummiert ===
  
==== [[Datei:6.png]] Ab zweiter Seite: Formular-Titel, Datum, Seiten-Nummer ====
+
Beinhaltet die Serien-/Inventar-Nummern, die zu den jeweiligen Lieferschein-Positionen gehören. Kann man in einem Report z.B. in ein SubDetail-Band unterhalb des Detail-Bandes unterbringen.
  
Der Titel für die Seiten 2 - Ende wird über den Header der Positionen '''HeaderPositionen''' ausgegeben.
+
{| class="wikitable" style="text-align: left;width: 80%;"
 +
!style="width: 30%;"|Feld
 +
!style="width: 5%;"|Typ
 +
!style="width: 5%;"|Größe
 +
!style="width: 60%;"|Beschreibung
 +
|- valign="top"
 +
|style="width: 30%;"|SerienNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|30
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|InventarNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|20
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Hersteller
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|30
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|HerstellerBez
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|40
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Lagerort
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|10
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Raum
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|20
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|Filiale
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|8
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ZusInfo1
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|60
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ZusInfo2
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|60
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ZusInfo3
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|255
 +
|style="width: 60%;"|
 +
|- valign="top"
 +
|style="width: 30%;"|ChargenNr
 +
|style="width: 5%;"|String
 +
|style="width: 5%;"|30
 +
|style="width: 60%;"|
 +
|}
  
Damit dieser Bereich auf der '''ersten Seite unterdrückt''' wird, gibt es diesen Code in ''' HeaderPositionenOnBeforePrint''':
+
=== Tabelle AuftrPosZuLieferschPos ===
  
<code>
+
Beinhaltet einen Auszug aus den Auftragspositionen, die zu den jeweiligen Lieferschein-Positionen gehören.
procedure HeaderPositionenOnBeforePrint(Sender: TfrxComponent);
 
begin
 
  // Auf der 1. Seite unterdrücken:
 
  if <Page#> = 1 then
 
  begin
 
    MemoAuftrNrTitelHeaderPositionen.Visible := False;
 
    HeaderSeitenNummer.Visible := False;
 
    HeaderPositionen.Visible := False;
 
  end
 
  else
 
  begin
 
    MemoAuftrNrTitelHeaderPositionen.Visible := True;
 
    HeaderSeitenNummer.Visible := True;
 
    HeaderPositionen.Visible := True;
 
  end;
 
end;
 
</code>
 
  
(Eigentlich gehört dieser Bereich nicht zum Kopf sondern zum Header über den Positionen)
+
{| class="wikitable" style="text-align: left;width: 80%;"
 
+
!style="width: 30%;"|Feld
==== [[Datei:5.png]] Auftragsdaten im Kopf ====
+
!style="width: 5%;"|Typ
 
+
!style="width: 5%;"|Größe
===== MasterDataKopfMiete =====
+
!style="width: 60%;"|Beschreibung
 
+
|- valign="top"
In diesem Bereich stehen die Kopfdaten für einen '''Miet-Auftrag'''.
+
|style="width: 30%;"|StatusNr
 
+
|style="width: 5%;"|SmallInt
Deshalb muss dieser Bereich ausgeblendet werden, wenn es um einen Verkaufs-Auftrag geht. Außerdem sollen die Aufbau, Abbau, Probe-Felder ausgeblendet werden, wenn dort kein Text eingegeben wurde.
+
|style="width: 5%;"|2
 
+
|style="width: 60%;"|Siehe [[REFLEX-Datenbank-Internes#Status-Felder_im_Auftragskopf:_.28Tabelle:_MAUFKO.29|Status-Nummer]]
Dazu gibt es diesen Code in '''MasterDataKopfMieteOnBeforePrint''':
+
|- valign="top"
 
+
|style="width: 30%;"|StatusText
<code>
+
|style="width: 5%;"|String
procedure MasterDataKopfMieteOnBeforePrint(Sender: TfrxComponent);
+
|style="width: 5%;"|4
begin
+
|style="width: 60%;"|Siehe [[REFLEX-Datenbank-Internes#Status-Felder_im_Auftragskopf:_.28Tabelle:_MAUFKO.29|Status-Text]]
  if <AuftragsKopf."Bereich_1Verkauf_2Miete_3Mietverkauf"> <> 2 then
+
|- valign="top"
    MasterDataKopfMiete.Visible := False  // Es ist Verkauf, also Bereich ausschalten!
+
|style="width: 30%;"|ArtNr
  else
+
|style="width: 5%;"|String
  begin
+
|style="width: 5%;"|20
    MasterDataKopfMiete.Visible := True; // Es ist Miete, also Bereich einschalten! 
+
|style="width: 60%;"|Artikelnummer
+
|- valign="top"
    // Bei Miete: Datumsfelder im Kopf nur sichtbar, wenn Text drin steht:
+
|style="width: 30%;"|Typ
    if <AuftragsKopf."AufbauText"> = '' then
+
|style="width: 5%;"|String
    begin
+
|style="width: 5%;"|40
      AuftragsKopfAufbauDatum.Visible := False;
+
|style="width: 60%;"|Typ
      AuftragsKopfAufbauText.Visible := False;
+
|- valign="top"
      AuftragsKopfAufbauZeit.Visible := False;
+
|style="width: 30%;"|Bezeichnung
    end;
+
|style="width: 5%;"|String
+
|style="width: 5%;"|255
    if <AuftragsKopf."AbbauText"> = '' then
+
|style="width: 60%;"|Artikel-Bezeichnung aus der Auftragsposition.
    begin
+
|- valign="top"
      AuftragsKopfAbbauDatum.Visible := False;
+
|style="width: 30%;"|AuftrMenge
      AuftragsKopfAbbauText.Visible := False;
+
|style="width: 5%;"|Float
      AuftragsKopfAbbauZeit.Visible := False;
+
|style="width: 5%;"|8
    end;
+
|style="width: 60%;"|Auftragsmenge.
+
|- valign="top"
    if <AuftragsKopf."ProbeText"> = '' then
+
|style="width: 30%;"|ReserveMenge
    begin
+
|style="width: 5%;"|Float
      AuftragsKopfProbeDatum.Visible := False;
+
|style="width: 5%;"|8
      AuftragsKopfProbeText.Visible := False;
+
|style="width: 60%;"|Reserve-Menge.
      AuftragsKopfProbeZeit.Visible := False;
+
|- valign="top"
    end;
+
|style="width: 30%;"|FremdMenge
  end;
+
|style="width: 5%;"|Float
end;
+
|style="width: 5%;"|8
</code>
+
|style="width: 60%;"|Fremd-Menge.
 
+
|- valign="top"
Wenn im Feld <code><AuftragsKopf."Bereich_1Verkauf_2Miete_3Mietverkauf"></code> (es heißt wirklich so!) 1 steht, ist es ein Verkaufs-Auftrag, bei 2 ein Miet-Auftrag, bei 3 ein Mietartikel-Verkaufen-Auftrag.
+
|style="width: 30%;"|AktAusgMenge
 
+
|style="width: 5%;"|Float
 
+
|style="width: 5%;"|8
 
+
|style="width: 60%;"|Aktuell ausgegebene Menge lt. Auftragsposition. Das muss '''nicht''' die in diesem Lieferschein ausgegebene Menge sein! Die Position könnte ja auch über mehrere Lieferscheine ausgegeben worden sein!
 
+
|- valign="top"
 
+
|style="width: 30%;"|AktAusgMengeFremd
===== MasterDataKopfVerkauf =====
+
|style="width: 5%;"|Float
 
+
|style="width: 5%;"|8
In diesem Bereich stehen die Kopfdaten für einen '''Verkaufs-Auftrag'''.
+
|style="width: 60%;"|Aktuell ausgegebene Fremd-Menge lt. Auftragsposition.  
 
+
|- valign="top"
Deshalb muss dieser Bereich ausgeblendet werden, wenn es um einen Miet-Auftrag geht. Dazu gibt es den Code in '''MasterDataKopfMieteOnBeforePrint''', wie oben beschrieben.
+
|style="width: 30%;"|BishZurueckMenge
 
+
|style="width: 5%;"|Float
 
+
|style="width: 5%;"|8
 
+
|style="width: 60%;"|Bisher zurückgebucht.
===== MasterDataVARaum =====
+
|- valign="top"
 
+
|style="width: 30%;"|BishZurueckMengeFremd
In diesem Bereich stehen die Veranstaltungs-Raum und -VA-Ort (Kurzname) für einen '''Miet-Auftrag'''.
+
|style="width: 5%;"|Float
 
+
|style="width: 5%;"|8
Dieser Bereich soll nur gedruckt werden, wenn es einen Raum '''oder''' VA-Ort-Namen gibt. Deshalb gibt es diesen Code in '''MasterDataVARaumOnBeforePrint''':
+
|style="width: 60%;"|Bisher Fremdmenge zurückgebucht.
 
+
|- valign="top"
<code>
+
|style="width: 30%;"|ZubehoerKennzch_1Haupt_2Unter
procedure MasterDataVARaumOnBeforePrint(Sender: TfrxComponent);
+
|style="width: 5%;"|Integer
begin
+
|style="width: 5%;"|4
  // Wenn beide Felder leer sind: Ausblenden!
+
|style="width: 60%;"|Zubehör-Kennzeichen, 1=Hauptartikel, 2=Unterartikel.
  if ( <AuftragsKopf."VA-OrtKurzname"> = '' ) and ( <AuftragsKopf."VA-Raum"> = '' ) then
+
|- valign="top"
    MasterDataVARaum.Visible := False;
+
|style="width: 30%;"|SetNrHauptArtikel
end;
+
|style="width: 5%;"|String
</code>
+
|style="width: 5%;"|10
 
+
|style="width: 60%;"|Wenn vorhanden, ist die des Hauptartikel in einem Set.
;Hinweis
+
|- valign="top"
:Der '''VA-Ort-Name''' wird im Auftragskopf unter dem '''VA-Ort''' optional angegeben.
+
|style="width: 30%;"|SetNr
 
+
|style="width: 5%;"|SmallInt
 
+
|style="width: 5%;"|2
 
+
|style="width: 60%;"|Wenn vorhanden, ist dies der Unterartikel aus einem Set.
===== MasterKoptext =====
 
 
 
In diesem Bereich stehen die Ansprechpartner-Daten des Kopfes.
 
 
 
Er wird immer ausgegeben und hat keine Ereignisse.
 
 
 
;Ansprechnpartner Kunde
 
:Die Daten kommen aus den Kontakt-Stammdaten des Kunden bzw. Ansprechpartners. '''[[REFLEX_Bedienungsanleitung_Stammdaten_Kontakte#Ansprechpartner_2|Weitere Informationen]]'''.
 
 
 
;Ansprechnpartner Auftrag
 
:Die Daten kommen aus den Personen-Stammdaten des Auftragsbearbeiters. '''[[REFLEX_Bedienungsanleitung_Stammdaten_Bearbeiter,_Personen,_Ressourcen,_Fahrzeuge|Weitere Informationen]]'''.
 
 
 
 
 
 
 
==== [[Datei:5.png]] Standardtext, Text aus Kopf ====
 
 
 
Im Bereich '''MasterDataStandardTextKopf''' steht der Standard-Text, der in den Programmparametern für dieses Formular festgelegt wurde.  '''[[FastReport:_Standard-Formular-Texte|Weitere Informationen]]'''.
 
 
 
 
 
 
 
=== [[Datei:7.png]] Positionen ===
 
 
 
Zentrales Band der Positionen ist das Band '''DetailPositionen'''. Es gehört zum Band-Typ '''DetailData''' mit den Daten aus der Tabelle '''Positionen'''. Das bedeutet, dass dieser Bereich wiederholt ausgegeben wird, bis es keine Positionsdaten mehr gibt!
 
 
 
Um, dieses Band herum wurden andere Bänder gelegt:
 
 
 
* Ein '''Header''' ("HeaderPositionen"), der den Titel über die Positionen beinhaltet. Dieser wird oben im Kopf beschrieben.
 
* Ein '''GroupHeader''' ("GroupHeaderKapitel"), der die Kapitel-Bezeichnungen beinhaltet. Das bedeutet, dass in dem Report die Gruppierungs-Funktion benutzt wird. Gruppieren bedeutet, dass die Positionen nach der Kapitel-Nummer getrennt werden. Die Kapitel-Überschrift steht im '''GroupHeader''', die eigentlichen Positionen im Band '''DetailPositionen'''.
 
* Ein '''Footer''' ("FussPositionen"), in dem Unterschriften usw.stehen.
 
 
 
 
 
[[Datei:Standard_Lieferschein_04_Positionen.png]]
 
 
 
 
 
 
 
==== [[Datei:8.png]] HeaderPositionen, Überschrift über die Positionen ====
 
 
 
Dieser Bereich beinhaltet den Titel über die Positionen. Dieser wird oben im Kopf beschrieben.
 
 
 
'''Wichtig''' ist die Eigenschaft (rechte Maustaste auf dem Bereich) '''Auf neuer Seite wiederholen'''. Diese legt fest, dass der Header auf jeder neuen Seite oben gedruckt wird!
 
 
 
Der Bereich hat ein Child (Kind) mit dem Namen "ChildHeaderPositionen", in den die Überschrift über den Positionen liegt.
 
 
 
Weil die Überschrift '''nicht gedruckt''' werden soll, wenn es auf der neuen Seite gar keine Positionen mehr gibt, wird dieser Code in '''ChildHeaderPositionenOnBeforePrint''' verwendet:
 
 
 
<code>
 
procedure ChildHeaderPositionenOnBeforePrint(Sender: TfrxComponent);
 
begin
 
  // Überschriftszeile unterdrücken, wenn keine Positionen mehr kommen:
 
  if DetailPositionen.DataSet.EOF then
 
    ChildHeaderPositionen.Visible := False
 
  else
 
    ChildHeaderPositionen.Visible := True;
 
end;
 
</code>
 
 
 
'''[[FastReport_Gruppenkopf_unterdrücken,_wenn_keine_Daten_mehr_kommen|Weitere Hinweise dazu]]'''
 
 
 
 
 
 
 
 
 
==== GroupHeaderKapitel ====
 
 
 
Beinhaltet die Kapitel-Bezeichnungen. Das bedeutet, dass in dem Report die Gruppierungs-Funktion benutzt wird. Gruppieren bedeutet, dass die Positionen nach der Kapitel-Nummer getrennt werden. Die Kapitel-Überschrift steht im '''GroupHeader''', die eigentlichen Positionen im Band '''DetailPositionen'''.
 
 
 
Es gibt diese Besonderheiten:
 
 
 
* Wenn in der Auftragsposition das Kennzeichen "Neue Seite vorher" gesetzt wurde, soll ein Seitenwechsel durchgeführt werden, bevor dieser Bereich gedruckt wird.
 
* Wenn im Kennzeichen 4 "Nein" steht, soll der Bereich unterdrückt werden.
 
 
 
Deshalb gibt es im Ereignis '''GroupHeaderKapitelOnBeforePrint''' diesen Code:
 
 
 
<code>
 
procedure GroupHeaderKapitelOnBeforePrint(Sender: TfrxComponent);
 
begin
 
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Gruppenkopf-Band (die Kapitel-Überschrift) ausgegeben wird.
 
  // Wenn das Kennzeichen "Seitenwechsel Vorher" gesetzt ist:
 
  if <Positionen."Seitenwechsel_0Nein_1Vorher_2Nachher"> = 1 then
 
    Engine.NewPage;                                   // Neue Seite, Seitenkopf usw. drucken
 
 
  // Kennzeichen 4 = Kapitelpreise Ja/Nein
 
  if <AuftragsKopf."KENNZ4"> = 'Nein' then
 
  begin
 
    memoKapitelBetrag.Visible        := False;
 
  end;
 
end;
 
</code>
 
 
 
 
 
 
 
 
 
==== DetailPositionen ====
 
 
 
In diesem Bereich werden die '''eigentlichen Lieferschein-Positionen''' ausgegeben.
 
 
 
In '''DetailPositionenOnBeforePrint''' gibt es einigen Code, der das Verhalten der Objekte dieses Bereiches beeinflusst.
 
 
 
 
 
procedure DetailPositionenOnBeforePrint(Sender: TfrxComponent);
 
begin
 
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Detail-Band
 
  // ausgegeben wird.
 
 
  // Formatierungen für Sets und Zubehör:
 
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Detail-Band
 
  // ausgegeben wird. Hier werden z.B. die Feld-Schrift-Styles geändert,
 
  // wenn die Position einen Haupt-Set-Artikel oder -Zubehör-Artikel
 
  // beinhaltet.
 
  // Positionsangaben werden in Pixeln gemacht, die Umrechnung in cm wird
 
  // mit einer Formel gemacht: "xxx.Left := 1.3 * fr1cm;"
 
 
  // Einrücken:
 
  MemoPositionenBezeichnung.Left := 1.80 * fr1cm;
 
  MemoPositionenBezeichnung.Width := 15.6 * fr1cm;
 
 
  // Set-Position:
 
  if ( <Positionen."SetNr"> > 0 ) and ( <Positionen."SetNrHauptArtikel"> = ''  ) then
 
  begin
 
    MemoPositionenBezeichnung.Left := 2.3 * fr1cm;
 
    MemoPositionenBezeichnung.Width := 8.2 * fr1cm;
 
  end;
 
 
  // Zubehör-Unterposition:
 
  if <Positionen."ZubehoerKennzch_1Haupt_2Unter"> = 2 then
 
  begin
 
    MemoPositionenBezeichnung.Left := 2.3 * fr1cm;
 
    MemoPositionenBezeichnung.Width := 8.2 * fr1cm;
 
  end;
 
end;
 
 
 
 
 
;Formatierungen für Sets und Zubehör:
 
:Hier werden z.B. die Feld-Schrift-Styles geändert, wenn die Position einen Haupt-Set-Artikel oder -Zubehör-Artikel beinhaltet.
 
:Außerdem wird gezeigt, wie man die Bezeichnungs- und Text-Felder für Set-Positionen einrücken kann.
 
:* Wichtig: Positionsangaben im Code werden in Pixeln gemacht! Damit man Pixel einfach in '''cm''' umrechnen kann, stellt FastReport eine Funktion namens '''<code>fr1cm</code>''' zur Verfügung. Die Umrechnung in cm wird mit einer Formel gemacht:
 
:*"xxx.Left := 1.3 * fr1cm;"
 
 
 
 
 
=== [[Datei:7.png]] Pakete ===
 
 
 
In diesem Bereich werden Pakete angezeigt.
 
 
 
 
 
=== [[Datei:8.png]] Einzelartikel ===
 
 
 
In diesem Bereich werden Einzelartikel-Daten angezeigt.
 
 
 
 
 
=== [[Datei:9.png]] Fuss ===
 
 
 
In diesem Bereich werden Textfelder für die Unterschriften usw. angezeigt.
 
 
 
* Genau genommen, ist dieser Bereich Bestandteil der Positionen, weil er als Footer (Fuss) der Positionen definiert ist.
 
 
 
[[Datei:Standard_Lieferschein_05_Fuss.png]]
 
 
 
 
 
 
 
 
 
 
 
== Updates ==
 
 
 
{| class="wikitable" style="text-align: left;"
 
!Version
 
!Datum
 
!Beschreibung
 
 
|- valign="top"
 
|- valign="top"
|
+
|style="width: 30%;"|Text
|
+
|style="width: 5%;"|Memo
|
+
|style="width: 5%;"|0
 +
|style="width: 60%;"|Beinhaltet den formatierten Text (RTF) der Auftragsposition, die zu einer Lieferschein-Position gehört.
 
|- valign="top"
 
|- valign="top"
|
+
|style="width: 30%;"|TextPositionOhneRtf
|
+
|style="width: 5%;"|Variant
|
+
|style="width: 5%;"|0
 +
|style="width: 60%;"|Beinhaltet den '''unformatierten''' Text (ohne RTF-Steuerzeichen) der Auftragsposition, die zu einer Lieferschein-Position gehört.
 
|- valign="top"
 
|- valign="top"
|
+
|style="width: 30%;"|LieferscheinLangtext_0_1
|
+
|style="width: 5%;"|Integer
|
+
|style="width: 5%;"|4
 +
|style="width: 60%;"|Entspricht dem Optionsfeld "□ Auf Lieferschein" in den Auftragspositionen. 0=Ausgeschaltet 1=Eingeschaltet. Kann man dazu benutzen, per Option den Langtext von einzelnen Positionen gezielt ein- oder auszublenden.
 
|- valign="top"
 
|- valign="top"
|
+
|style="width: 30%;"|AuftrKapitelText
|
+
|style="width: 5%;"|Memo
|
+
|style="width: 5%;"|0
 +
|style="width: 60%;"|Beinhaltet den formatierten Text (RTF) des '''Auftragskapitels''', das zu einer Lieferschein-Position gehört. Bitte beachten Sieden Hinweis dazu unten.
 
|}
 
|}
  
 +
;Hinweis:
 +
 +
:Das Feld "AuftrKapitelText" beinhaltet den formatierten Text (RTF) des '''Auftragskapitels''', das zu einer Lieferschein-Position gehört.
 +
:In einem Lieferschein gibt es keine Kapitel, also kommt das Feld "Text" aus dem Kapitel auch nicht in der Tabelle der summierten Lieferschein-Positionen". Deshalb gibt es das Feld "AuftrKapitelText"!
 +
 +
*Beispiel:
 +
 +
[[Datei:FastReport_TippsUndTrick_LiefScheinPos_KapitelText.png]]
 +
 +
*Dieses Feld steht ab Version 4.0.180903 zur Verfügung.
  
 
== Standard-Reports ==
 
== Standard-Reports ==

Aktuelle Version vom 3. September 2018, 13:05 Uhr

1 Allgemeines

Der Report "Lieferschein_Standard_LieferscheinPosSummiert_V03.fr3" wird für den Druck eines Lieferschein aus dem Lager-Ausgabe-Programm heraus verwendet. Er unterscheidet im Design zwischen Miete und Verkauf.

Der Report führt die Lieferschein-Positionen summiert gleichen Lieferschein-Positionen (Artikeln) auf. Es werden nur die Kapitel und Positionen aufgeführt, in denen Material für den Lieferschein ausgegeben ist. Das Druckprogramm erkennt das automatisch anhand des Reports und stellt die Option "Sortieren nach" automatisch ein.!


1.1 Verzeichnis, Basis-Report

Der Report befindet sich im Formular-Verzeichnis "Lieferschein".

Der Report verwendet als Basis für den Kopf- und Fuss-Bereich den Basis-Report "BasisReport_01.fr3". Dieser muss im Verzeichnis "Formular" liegen.


1.2 Auftragskennzeichen

Die Auftragskennzeichen, die für Angebot/Auftrag/Rechnung benutzt werden, werden in diesem Report nicht verwendet.


2 Vorschau

In der Vorschau sieht das Formular so aus:

Standard LieferscheinSummiert 01 Vorschau.png

3 Bereiche

Die Bereiche im Kopf sind gleich wie unter REFLEX Standard-Report Lieferschein beschrieben.


3.1 Positionen

Zentrales Band der Positionen ist das Band DetailPositionen. Es gehört zum Band-Typ DetailData mit den Daten aus der Tabelle LieferscheinPositionenSummiert.

Standard Lieferschein 04 Positionen.png


In den DetailPositionen werden die eigentlichen Lieferschein-Positionen ausgegeben.

In DetailPositionenOnBeforePrint gibt es einigen Code, der das Verhalten der Objekte dieses Bereiches beeinflusst.


3.2 Einzelartikel

In diesem Bereich werden Einzelartikel-Daten angezeigt.

Standard LieferscheinSummiert 01 SubDetailBand.png

Es handelt sich hierbei um ein sog. "Sub-Detail-Band", also eine Art Unter-Band, das unterhalb des Details-Bandes ausgeführt wird. Es ist der Tabelle (DataSet) "EinzelartikelLieferscheinPosSummiert" zugeordnet. Das Druckprogramm sorgt dafür, dass dort die wichtigsten Daten der auf die Position ausgegebenen Einzelartikel aufgeführt werden.

Standard LieferscheinSummiert 02 SubDetailBandFelder.png

In diesem Fall wird nur die Inventarnummer in 9 Spalten aufgeführt:

Standard LieferscheinSummiert 03 SubDetailBandSpalten.png

Natürlich kann man auch mit weniger oder nur einer Spalte arbeiten und z.B. die Serien-Nummer einfügen.


4 Tabellen und Felder in diesem Report

4.1 Tabelle LieferscheinKopf

Feld Typ Größe Beschreibung
LieferscheinNr Integer 4
AuftrNr Integer 4
LieferscheinDatum DateTime 8
DruckDatum DateTime 8
DruckZeit String 8
DruckUser String 10
AdressKurzname String 40
NameFirma String 160
Ansprechpartner String 40
Strasse String 40
LandKennzeichen String 5
PLZ String 10
Ort String 40
LandName String 40
VersandArt String 40
VersandText String 40
Text Memo 0
AusLagerGenommenVon String 10
KontrolliertVon String 10
VerladenVon String 10
Sprache String 1
Filiale String 5
LieferKennzeichen SmallInt 2

4.2 Tabelle LieferscheinPositionen

Feld Typ Größe Beschreibung
LIEFSCHNR Integer 4
PosNr SmallInt 2
Kennzeichen_1M_2VK_3MV SmallInt 2
ArtNr String 14
ArtLfdNr SmallInt 2
GRUPPE String 50
Typ String 40
Bezeichnung String 255
SetKennzeichen String 10
Artikelart_1M_2VK_3DL_4AZ SmallInt 2
AuftrNr Integer 4
AuftragsKapitel SmallInt 2
AuftragsPosNr SmallInt 2
Menge Float 8
Einheit String 10
DatumVon DateTime 8
ZeitVon String 5
DatumBis DateTime 8
ZeitBis String 5
BerechnEinheit String 6
EINSTAGE Float 8
EINSWOCHEN Float 8
EINSMONATE Float 8
BerechnenEinheit Float 8
ERFUSER String 10
ERFDATUM DateTime 8
ANDDAT DateTime 8
Text Memo 0
FreiText Memo 0
FremdMenge Float 8
Einzelartikel_SetKennzch Integer 4
ChargenNummer String 30
VDE_Warnung SmallInt 2
Artikel_Text Memo 0
Artikel_Obergruppe String 50
Artikel_Gruppe String 50
Artikel_Untergruppe String 50
Artikel_Typ String 40
Artikel_Bezeichnung String 255
Artikel_Einheit String 10
Artikel_Kennz1 String 15
Artikel_Kennz2 String 15
Artikel_Kennz3 String 15
Artikel_Kennz4 String 15
Artikel_Kennz5 String 15
Artikel_Hersteller String 30
Artikel_UrsprLand String 6
Artikel_Abmessungen String 20
Artikel_NettoGewicht Float 8
Artikel_BruttoGewicht Float 8
Artikel_Volumen Float 8
Artikel_VerpEinheit Float 8
Artikel_AbmessungenVK String 20
Artikel_NettoGewichtVK Float 8
Artikel_BruttoGewichtVK Float 8
Artikel_VolumenVK Float 8
Artikel_ArtikelArt SmallInt 2
Artikel_Einzelartikel SmallInt 2
Artikel_Dispoartikel SmallInt 2
Artikel_Bestandsfuehrung SmallInt 2
Artikel_MwstKennz SmallInt 2
Artikel_KundArtNr String 40
Artikel_AlteInventarNr String 16
Artikel_InventarNr String 50
Artikel_SerienNr String 40
Artikel_AnlagenNr String 16
Artikel_Lagerort String 10
Artikel_EKPreis BCD 34
Auftrag_Menge Float 8
Auftrag_Faktor Float 8
Auftrag_RabattProz BCD 34
Auftrag_EinzelPreis BCD 34
AuftrKapitelBezeichnung String 255
KundenArtikelNr String 1
SetKurzname String 60
SetBezeichnung String 100
SetBemerkung String 50
ObergruppeBezeichnung String 50
GruppeBezeichnung String 50
UntGruppeBezeichnung String 50
BERECHNENJN SmallInt 2
RECHNR Integer 4
RECHPOSNR SmallInt 2
RECHUNTPOSNR SmallInt 2
GesamtBruttoGewichtMiete Float 8
GesamtNettttoGewichtMiete Float 8
GesamtBruttoGewichtVK Float 8
GesamtNettttoGewichtVK Float 8
GesamtVolumenMiete Float 8
GesamtVolumenVK Float 8
Packstueck Integer 4
PACKSTUECK_KOPF_ID Integer 4
PACKSTUECK_KOPF_AUFTR_LFDNR Integer 4
PACKSTUECK_POS_ID Integer 4

4.3 Tabelle LieferscheinPosSummiert

Beinhaltet die nach Artikel summierten Lieferschein-Positionen. "Menge" ist dabei die auf die jeweiligen Artikel ausgegebene Lieferschein-Menge, was nicht unbedingt die in der Auftragsposition stehende Ausgabemenge ist. Es könnten ja mehrere Lieferscheine für eine Auftragsposition ausgegeben worden sein!

Feld Typ Größe Beschreibung
AuftragsKapitel SmallInt 2
AuftragsPosNr SmallInt 2
ArtNr String 20
Menge Float 8
AuftragsKapitelBezeichnung String 255

4.4 Tabelle LieferscheinArtikelTexte

Feld Typ Größe Beschreibung
ArtNr String 20
Typ String 40
Bezeichnung String 255
Kurzname String 10
ArtikelText Variant 0

4.5 Tabelle EinzelartikelLieferscheinPosSummiert

Beinhaltet die Serien-/Inventar-Nummern, die zu den jeweiligen Lieferschein-Positionen gehören. Kann man in einem Report z.B. in ein SubDetail-Band unterhalb des Detail-Bandes unterbringen.

Feld Typ Größe Beschreibung
SerienNr String 30
InventarNr String 20
Hersteller String 30
HerstellerBez String 40
Lagerort String 10
Raum String 20
Filiale String 8
ZusInfo1 String 60
ZusInfo2 String 60
ZusInfo3 String 255
ChargenNr String 30

4.6 Tabelle AuftrPosZuLieferschPos

Beinhaltet einen Auszug aus den Auftragspositionen, die zu den jeweiligen Lieferschein-Positionen gehören.

Feld Typ Größe Beschreibung
StatusNr SmallInt 2 Siehe Status-Nummer
StatusText String 4 Siehe Status-Text
ArtNr String 20 Artikelnummer
Typ String 40 Typ
Bezeichnung String 255 Artikel-Bezeichnung aus der Auftragsposition.
AuftrMenge Float 8 Auftragsmenge.
ReserveMenge Float 8 Reserve-Menge.
FremdMenge Float 8 Fremd-Menge.
AktAusgMenge Float 8 Aktuell ausgegebene Menge lt. Auftragsposition. Das muss nicht die in diesem Lieferschein ausgegebene Menge sein! Die Position könnte ja auch über mehrere Lieferscheine ausgegeben worden sein!
AktAusgMengeFremd Float 8 Aktuell ausgegebene Fremd-Menge lt. Auftragsposition.
BishZurueckMenge Float 8 Bisher zurückgebucht.
BishZurueckMengeFremd Float 8 Bisher Fremdmenge zurückgebucht.
ZubehoerKennzch_1Haupt_2Unter Integer 4 Zubehör-Kennzeichen, 1=Hauptartikel, 2=Unterartikel.
SetNrHauptArtikel String 10 Wenn vorhanden, ist die des Hauptartikel in einem Set.
SetNr SmallInt 2 Wenn vorhanden, ist dies der Unterartikel aus einem Set.
Text Memo 0 Beinhaltet den formatierten Text (RTF) der Auftragsposition, die zu einer Lieferschein-Position gehört.
TextPositionOhneRtf Variant 0 Beinhaltet den unformatierten Text (ohne RTF-Steuerzeichen) der Auftragsposition, die zu einer Lieferschein-Position gehört.
LieferscheinLangtext_0_1 Integer 4 Entspricht dem Optionsfeld "□ Auf Lieferschein" in den Auftragspositionen. 0=Ausgeschaltet 1=Eingeschaltet. Kann man dazu benutzen, per Option den Langtext von einzelnen Positionen gezielt ein- oder auszublenden.
AuftrKapitelText Memo 0 Beinhaltet den formatierten Text (RTF) des Auftragskapitels, das zu einer Lieferschein-Position gehört. Bitte beachten Sieden Hinweis dazu unten.
Hinweis
Das Feld "AuftrKapitelText" beinhaltet den formatierten Text (RTF) des Auftragskapitels, das zu einer Lieferschein-Position gehört.
In einem Lieferschein gibt es keine Kapitel, also kommt das Feld "Text" aus dem Kapitel auch nicht in der Tabelle der summierten Lieferschein-Positionen". Deshalb gibt es das Feld "AuftrKapitelText"!
  • Beispiel:

FastReport TippsUndTrick LiefScheinPos KapitelText.png

  • Dieses Feld steht ab Version 4.0.180903 zur Verfügung.

5 Standard-Reports

6 Links