Bei L&L Etikettendruck

Moderator: Moderatoren

Antworten
Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Bei L&L Etikettendruck

Beitrag von Günter Preißer »

Hallo L&L-Profis,
ich hoffe ihr könnt mir bei folgendem Labeldruck helfen.
Ich habe einen Etikettendruck mit 4 Etiketten auf einem DIN A4 Blatt erstellt. Jetzt möchte ich aber noch einen Textblock mit Variablen auf jeder neuen Seite am Anfang drucken, bevor die 4 Etiketten gedruckt werden. Wäre da ein Projektbaustein die Lösung und wenn ja, wie muss ich das machen?
Benutzeravatar
Marcus Herz
Programmier-Gott
Programmier-Gott
Beiträge: 1035
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 51 Mal
Danksagung erhalten: 252 Mal
Kontaktdaten:

Re: Bei L&L Etikettendruck

Beitrag von Marcus Herz »

Die Anforderungsbeschreibung ist etwas dürftig.
Aber Projektbaustein klingt gut. Das nimmt man ja z.B. für Kopf- oder Fusszeilen, die in jedem Druck vorkommen und eigentlich nur an einer Stelle gepflegt werden sollen.
z.B. Fusszeile mit Bankverbindung
Gruß Marcus

Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Re: Bei L&L Etikettendruck

Beitrag von Günter Preißer »

Hallo Marcus,
zuerst mal danke für deine Antwort. Ich beschreibe meine Anforderung nochmals und hoffentlich genauer. Ich habe pro A4-Blatt 4 Etiketten die der Breite des Papiers entsprechen und deshalb unter einander gedruckt weren.
Jetzt muss ich einen Textblock so einfügen, dass er bei jeder neuen Seite als erstes gedruckt wird und anschließend sollen die 4 Etiketten gedruckt werden.
Benutzeravatar
Marcus Herz
Programmier-Gott
Programmier-Gott
Beiträge: 1035
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 51 Mal
Danksagung erhalten: 252 Mal
Kontaktdaten:

Re: Bei L&L Etikettendruck

Beitrag von Marcus Herz »

Ist der Textblock auf jedem Etikett oder wirklich je Blatt über den Etiketten?
Gruß Marcus

Den Kopf in den Sand zu stecken rettet die Welt auch nicht.
Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Re: Bei L&L Etikettendruck

Beitrag von Günter Preißer »

der Textblock ist nur 1x am Anfang pro Blatt, dann kommen die 4 Etiketten.
Benutzeravatar
azzo
1000 working lines a day
1000 working lines a day
Beiträge: 942
Registriert: So, 28. Mär 2010 19:21
Hat sich bedankt: 15 Mal
Danksagung erhalten: 22 Mal

Re: Bei L&L Etikettendruck

Beitrag von azzo »

Hallo zusammen,

ich lese hier mit und wundere mich ehrlich gesagt immer, warum gute Hinweise nicht einfach geteilt werden – auch wenn sie z. B. von ChatGPT stammen.

Einige werden sich vielleicht fragen, was man eigentlich davon hat, wenn man hier mit Hilfe von ChatGPT antwortet.
Die Antwort ist einfach: ChatGPT lernt mit jeder Frage den Anwendungsfall besser kennen – auch wenn er technisch anonym bleibt. Je mehr Kontext vorhanden ist, desto treffsicherer und praxisnäher werden die Vorschläge.
Ich selbst profitiere dann wiederum davon bei meinen eigenen, oft ähnlichen Fragen – es ist also ein kleiner Kreislauf aus Mitlesen, Einbringen, besser verstehen.

Gerade bei Fragen wie der von Günter (Textblock einmal pro Seite, vor den Etiketten) liefert ChatGPT inzwischen ziemlich brauchbare und direkt umsetzbare Vorschläge. Warum also nicht kurz posten, wenn man sich ohnehin mit dem Thema beschäftigt?
Hier ist ein **konkretes Beispiel**, wie man in **List & Label** einen **Textblock nur einmal pro Seite – vor den 4 Etiketten** – anzeigen kann:

---

## 🗂 **Ausgangssituation**

* DIN A4 Seite
* 4 Etiketten untereinander (also 4 Datensätze pro Seite)
* Vor dem ersten Etikett auf jeder Seite soll ein Textblock mit Variablen erscheinen (z. B. `KundeName`, `Datum`)

---

## ✅ **Lösungskonzept: Textblock pro Seite anzeigen**

### 🔧 Schritt 1: Etiketten-Projekt öffnen

Nutze ein **Etiketten-Projekt (Label-Projekt)** mit mehreren Etiketten pro Seite (z. B. 4 Zeilenlayout untereinander).

---

### 🧩 Schritt 2: Textobjekt als „Seitenkopf“ nachbilden

1. **Füge ein neues Objekt ein:**
➜ *Textobjekt* ganz oben auf dem Layout

2. **Inhalt:**
Beispiel:

```
Versandetiketten für: «KundeName» am «Date$()»
```

3. **Druckbedingung setzen (WICHTIG!):**
Rechtsklick auf das Objekt → *Eigenschaften* → *Druckoptionen*

Trage als Bedingung ein:

```
LineIndex() = 0
```

🔍 **Erklärung:**
`LineIndex()` zählt die Etiketten auf der Seite. `0` ist das **erste Etikett auf der Seite**, also druckt L\&L das Objekt nur **einmal pro Seite vor dem ersten Etikett**.

---

### 📐 Schritt 3: Textobjekt positionieren

Ziehe das Objekt **oberhalb** des ersten Etiketts (nicht in die Etiketten selbst einbetten). Am besten über dem ersten Platzhalterobjekt.

---

## 🧪 Testen

* Druckvorschau öffnen
* Kontrollieren, ob der Textblock **bei jedem Seitenumbruch einmal oben erscheint**
* Text darf **nicht bei jedem Etikett**, sondern **nur einmal pro Seite** erscheinen

---

## 🔄 Alternative mit Projektbaustein (optional)

Wenn der Textblock **in vielen Projekten identisch** ist (z. B. „Versanddatum:…“), kannst du ihn auch als **Projektbaustein** definieren:

* Menü: **Projekt > Projektbausteine > Neu**
* Text und Bedingungen wie oben
* Im Hauptprojekt: ➜ *Einfügen > Projektbaustein > \[Name]*

Das spart Pflegeaufwand bei vielen Berichten.

---
Damit hast man eine **hilfreiche, konkrete und verständliche** Anleitung, die auch für andere Leser später im Forum nützlich ist.

LG
Otto


Ein einfaches .lst-Beispiel (also eine Layout-Datei für List & Label) simulieren, das den beschriebenen Aufbau enthält:

Ein Textblock, der einmal pro Seite erscheint (mit LineIndex() = 0 als Bedingung)

Darunter ein Platzhalter für 4 Etiketten pro Seite

Hier ist der simulierte .LST-Inhalt als Klartext, den du in List & Label z. B. über "Export > Layout als XML exportieren" in ähnlicher Form auch findest:

Code: Alles auswählen

<Layout>
  <Objects>
    <!-- Textblock am Seitenanfang -->
    <Object>
      <Type>Text</Type>
      <Name>HeaderText</Name>
      <Position X="0" Y="0" />
      <Size Width="190" Height="10" />
      <Content>
        Versandetiketten für: «KundeName» am «Date$()»
      </Content>
      <PrintCondition>
        LineIndex() = 0
      </PrintCondition>
    </Object>

    <!-- Platzhalter für Etiketten -->
    <Object>
      <Type>Text</Type>
      <Name>Etikett1</Name>
      <Position X="0" Y="12" />
      <Content>Etikett 1: «ArtikelName»</Content>
    </Object>
    <Object>
      <Type>Text</Type>
      <Name>Etikett2</Name>
      <Position X="0" Y="42" />
      <Content>Etikett 2: «ArtikelName»</Content>
    </Object>
    <Object>
      <Type>Text</Type>
      <Name>Etikett3</Name>
      <Position X="0" Y="72" />
      <Content>Etikett 3: «ArtikelName»</Content>
    </Object>
    <Object>
      <Type>Text</Type>
      <Name>Etikett4</Name>
      <Position X="0" Y="102" />
      <Content>Etikett 4: «ArtikelName»</Content>
    </Object>
  </Objects>
  <PageSetup>
    <PaperSize>DIN A4</PaperSize>
    <Orientation>Portrait</Orientation>
    <Margins Top="10" Bottom="10" Left="10" Right="10" />
  </PageSetup>
</Layout>



Hinweise zur Umsetzung in L&L GUI:

Öffne dein Etikettenprojekt in der List & Label Designer-Oberfläche.

Füge ein Textobjekt oben im Layout ein → Inhalt wie Versandetiketten für: «KundeName» am «Date$()»

Setze unter Eigenschaften > Druckoptionen die Bedingung: LineIndex() = 0

Die Etikettenfelder platzierst du darunter wie gewohnt, z. B. «ArtikelName», etc.
Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Re: Bei L&L Etikettendruck

Beitrag von Günter Preißer »

Hallo Azzo,
vielen Dank für deinen Post mit Bezug auf die Antwort von ChatGPT. Im Designer ein neues Textobjekt vor dem Etikett einfügen und dann bei den Eigenschaften die Darstellungsoption mit der Funktion Lineindex() = 0 zu steuern klang sehr interessant.
Ich kann allerdings diese Funktion "Lineindex()" bei List & Label 27 nicht finden, dies gilt auch für ältere bzw. neuere Versionen.
Gefunden habe ich nur die Funktion "CurrentLineindex", die arbeitet allerdings zeilenbezogen und hift an dieser Stelle nicht
Benutzeravatar
azzo
1000 working lines a day
1000 working lines a day
Beiträge: 942
Registriert: So, 28. Mär 2010 19:21
Hat sich bedankt: 15 Mal
Danksagung erhalten: 22 Mal

Re: Bei L&L Etikettendruck

Beitrag von azzo »

Hallo Günter,

ich habe deine Antwort in den alten Chat eingegeben.
vielen Dank für deinen Hinweis – du hast völlig recht:
Die Funktion LineIndex() war in meiner ursprünglichen Beschreibung leider ungenau bzw. missverständlich.
Was ich meinte, ist tatsächlich die Funktion:

CurrentLineIndex()

Du hast aber ebenfalls recht, dass CurrentLineIndex() zeilenbezogen arbeitet – und daher nicht direkt geeignet ist, um ein Element nur auf der ersten Etikettenposition einer Seite darzustellen.
Es gibt einen Alternativvorschlag.

Ich hoffe, es funktioniert damit.
LG
Otto


✅ Alternative Lösung (funktioniert zuverlässig):
Wenn du ein Textobjekt nur einmal pro Seite, z. B. vor dem ersten Etikett, anzeigen willst, kannst du stattdessen die Funktion PageLineIndex() verwenden – in Kombination mit der Bedingung:

PageLineIndex() = 0

Diese Bedingung ist in der Regel korrekt, wenn dein Etikettenlayout auf einer Tabelle basiert – das erste Zeilenobjekt pro Seite hat dann den PageLineIndex 0.

🛠 Tipp für die Praxis:
Textobjekt im Designer über dem Etikett platzieren

In den Eigenschaften > Darstellung > Bedingung:

PageLineIndex() = 0

Damit wird der Text nur einmal je Seite dargestellt – genau dort, wo du ihn brauchst (z. B. als Abschnittskopf, Hinweistext, etc.).

Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Re: Bei L&L Etikettendruck

Beitrag von Günter Preißer »

Hallo Otto,
danke für deine Antwort aber die Funktion "PageLineIndex()" gibt es leider nicht.
VG. Günter
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9933
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 142 Mal
Danksagung erhalten: 484 Mal
Kontaktdaten:

Re: Bei L&L Etikettendruck

Beitrag von Tom »

Bei Etikettenprojekten designt man ja normalerweise nicht die ganze Seite, sondern nur das einzelne Etikett. Dadurch hat man aber die gesamte Seite nicht im Designer zur Verfügung. Ich würde entweder ein LST-Projekt daraus machen oder die Etiketten in vier Felderbereiche pro Seite verteilen und ganzseitige Etikettenprojekte entwickeln. Also quasi nur ein Etikett pro Seite, aber es werden jeweils vier Feldergruppen gereicht (INHALT1, INHALT2 ... 4, ERGÄNZUNG1, ERGÄNZUNG2 ... 4 usw.), die halt leer sind, wenn die Daten nicht reichen. Und dann kann man über die Ebenendefinitionen oder die Seitennummer einfach abfangen, was mit dem zusätzlichen Inhalt passieren soll.
Herzlich,
Tom
Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Re: Bei L&L Etikettendruck

Beitrag von Günter Preißer »

Hallo Tom,
vielen Dank für deine Antwort. Verstehe ich deinen 2. Lösungsvorschlag so, daß ich 5 Label-Dateien erstelle, also 1 für meinen gewünschten Textblock und 4 weiter für die 4 Labels. Ic müsste dann also über diesen "Kombinationsdruck" die 5 Dateien mit ';' getrennt in der Funktion LlPrintWithBoxStart() starten. Habe ich dich so richtig verstanden. Alternativ könnte ich auch die Variante mit der LST-Datei probieren.
VG Günter
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9933
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 142 Mal
Danksagung erhalten: 484 Mal
Kontaktdaten:

Re: Bei L&L Etikettendruck

Beitrag von Tom »

Hallo, Günter.

Nein, ich würde eine Label-Datei erzeugen, die formal auch nur ein Label pro Seite enthält (eine A4-Seite), aber tatsächlich vier Label und die Überschrift. In der Druckroutine werden die Daten in Viererpacks auf vier Feldergruppen verteilt, die aber insgesamt einen Datensatz ergeben. Möglicherweise ist das keine besonders elegante Lösung, aber ich warte noch auf einen besseren Vorschlag von meinen Formularleuten.

Also: Eine A4-Seite, die einen Datensatz druckt. Dieser eine Datensatz besteht aber eigentlich aus vier Gruppen Feldern (NAME1 ... NAME4, VORNAME1 ... VORNAME4), die auf vier gleich formatierte Label verteilt werden. Du gruppierst in Deiner Druckroutine.

Aber vielleicht ist in den L&L-Foren noch eine bessere Idee zu finden.
Herzlich,
Tom
Günter Preißer
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 37
Registriert: Fr, 04. Aug 2006 11:09

Re: Bei L&L Etikettendruck

Beitrag von Günter Preißer »

Hallo Tom,
jetzt habe ich deinen Vorschlag verstanden, ich mache mich mal dran, ans Umsetzen.
Vielen herzlichen Dank.
Wenn dir noch was besseres einfällt, ich bin für jede Idee dankbar.
VG Günter
Antworten

Zurück zu „List & Label“