[Gelöst] Werte in Report falsch gedruckt

3. Mai 2016 09:14

Guten morgen zusammen.
Ich hoffe hier kann ich mal wieder einen Schubs in die richtige Richtung bekommen. Es handelt sich aktuell um einen Report, der diverse Werte aus der Item und Comment Line Tabelle ausgeben/drucken soll. Allerdings machne mir die Werte aus der Comment Line Tabelle Probleme. Es sollen immer nur die ersten 4 Zeilen gedruckt werden. Jetzt habe ich aber das Problem, dass die letzte Zeile immer doppelt gedruckt wird. Alle Zeilen davor werden nicht ausgegeben. Sollte nur 1 Zeile vorhanden sein, wird diese dann doppelt gedruckt. Hier mal die Schleife die ich meine:

Code:
CommentLine.SETRANGE("Table Name",CommentLine."Table Name"::Item);
CommentLine.SETRANGE("No.",ItemNo);
CommentLine.SETRANGE(Code,'ARTBESCHR');
IF CommentLine.FINDSET THEN BEGIN
  CommentLineLoop := 1;
  REPEAT
    FOR CommentLineLoop := 1 TO 4 DO BEGIN
      CommentDesc[CommentLineLoop] := CommentLine.Comment;
      CommentLineLoop += 1;
    END;
  UNTIL CommentLine.NEXT = 0;
  CommentComplete := CommentDesc[1] + ' ' + CommentDesc[2] + ' ' + CommentDesc[3] + ' ' + CommentDesc[4];
  CommLength := STRLEN(CommentComplete);


Falls nötig, dann kann ich auch die ganze Funktion posten. Aber ich denke es liegt an diesem Ausschnitt. Ich hoffe ich habe alles wichtige erwähnt.
Vielen Dank schon mal an alle die sich die Mühe machen ;)
Zuletzt geändert von galnar am 3. Mai 2016 10:08, insgesamt 1-mal geändert.

Re: Werte in Report falsch gedruckt (Schleife fehlerhaft??)

3. Mai 2016 09:20

was du momentan machst
- hole mir alle comment lines zu den artikeln
- fuer jede geholte line mach die for schleife

Tipps:
versuch das Ganze einfach mal im Gedanken mit realen Daten durch zu spielen.. also von oben nach unten, dann solltest du den Fehler auch sehen.
Die FOR-Schleife brauchst du für dein Vorhaben gar nicht!

Grüße
Ted

Re: [Gelöst] Werte in Report falsch gedruckt

3. Mai 2016 10:09

Perfekt!
Vielen Dank für den Hinweis. Das war des Rätsels Lösung.

Nachdem ich den Code angepasst und die FOR Schleife weggelassen hatte funktioniert es.
Danke schön.