+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LL9 Bekomme von LLPrint kein LL_WRN_REPEAT_DATA


(Guest) #1

Hallo!

Wir möchten eine Liste an Datensätzen drucken mit einer Vorlage, die in Feldern erlaubt, einen Seitenumbruch durchzuführen.

Das Problem dabei ist, dass sobald ein Datensatz einen Seitenumbruch erzeugt, LlPrint kein LL_WRN_REPEAT_DATA liefert und der nächste Datensatz dann die 2te Seite des vorhergehenden Datensatzes überschreibt.

Pseudo Code:

LlPrintWithBoxStart( LL_PROJECT_LIST,...);
while Datensatz vorhanden
   LlDefineFieldExt(...);
   LlPrintResetProjectState(hJob);
   nRet = LlPrint(hJob);
   while nRet = LL_WRN_REPEAT_DATA
     nRet = LlPrint(hJob);
   nächster Datensatz
LlPrintEnd(0);

mfg Gernot


(Guest) #2

Wenn Du mit Listen arbeitest, braucht’s ein LlPrintFields(), oder? Schau mal in das Einführungskapitel im Handbuch, da ist die Schleife dokumentiert, mein Wissen darum ist dank .NET Databinding schon etwas eingerostet.


(Guest) #3

Hallo!

Danke erstmal für deine Antwort.

Es ist richtig das LlPrintFields() benötigt wird um Listen zu füllen.
Das ganze Projekt enthält innerhalb der Datensätze auch noch mehrere Listen, jedoch werden diese ausgelassen wenn keine Daten für die Listen enthalten sind.
Sobald eine Liste Daten enthält tritt das Problem nicht auf da der erste Aufruf von LlPrintFields LL_WRN_REPEAT_DATA liefert, falls die Seite voll ist.

Pseudo Code:

LlPrintWithBoxStart( LL_PROJECT_LIST,...);
while Datensatz vorhanden
   LlDefineVariableExt(...);
   LlDefineFieldExt(...);
   LlPrintResetProjectState(hJob);
   nRet = LlPrint(hJob);
   while nRet = LL_WRN_REPEAT_DATA
     nRet = LlPrint(hJob);
   if ListenZeile vorhanden
     while ListenZeile vorhanden
        LlDefineVariableExt(...);
        LlDefineFieldExt(...);
        Set nRet = LlPrintFields ( ):
        if nRet = LL_WRN_REPEAT_DATA
           LlPrint();
           LlPrintFields();
        nächste ListenZeile
     LlPrintFieldsEnd();
   nächster Datensatz
LlPrintEnd(0);

mfg Gernot