[GELÖST] RDLC: Neues Feld aktualisiert sich nicht pro Zeile

23. Oktober 2015 18:10

Hallo liebe Community,

ich verwende grade den Standardreport 5752 Picking List. Dem habe ich ein neues Feld hinzugefügt, welches pro Zeile in Abhängigkeit von der Artikelnr. die Verpackungseinheiten (Tabelle "Item Unit Measure") andrucken soll.
Jedoch werden in allen Zeilen nur die Verpackungseinheiten des letzten Artikels angedruckt.

Das neue Feld heißt DescriptionVPEText, ist global und IncludeDataset = YES.

Hier mein Code in WhseActLine - OnAfterGetRecord() Trigger:
Code:
IF Item.GET("Warehouse Activity Line"."Item No.") THEN BEGIN
  ItemUnitMeasure.RESET;
  ItemUnitMeasure.SETRANGE("Item No.",Item."No.");
  ItemUnitMeasure.SETFILTER(Code,'<> %1',"Warehouse Activity Line"."Unit of Measure Code");
  IF ItemUnitMeasure.FINDSET THEN BEGIN
    REPEAT
      IF DescriptionVPEText <> '' THEN
        DescriptionVPEText += '\n'; // Macht einen Zeilenumbruch innerhalb einer Textbox
      DescriptionVPEText += ItemUnitMeasure.Code + ' ' + FORMAT(ItemUnitMeasure."Qty. per Unit of Measure");
    UNTIL ItemUnitMeasure.NEXT = 0;
  END;
END;


Layout: Die Textbox ist unter allen vier Zeilen unter dem Feld ItemNo_WhseActLine angesiedelt.

Im Dataset: DescriptionVPEText ist Bereich von WhseActLine angesiedelt.

Wie gesagt: das Feld erhält Daten, aber jedoch nur vom letzten Artikel. Dataset (Reportvorschau) werden nur die Verpackungseinheiten des letzten Artikels an alle Zeilen übergeben.

Wer kann mir Tipps geben? :(

Gruß,
Boyrinho
Zuletzt geändert von Boyrinho am 26. Oktober 2015 11:55, insgesamt 1-mal geändert.

Re: RDLC: Neues Feld aktualisiert sich nicht pro Zeile

23. Oktober 2015 21:19

Das GET und SETFILTER passiert mit "Warehouse Activity Line" (das ist das andere Dataitem über WhseActLine) nicht mit WhseActLine. Einfach löschen, dann greift der Feldwert der WhseActLine. Im Code ist der Name des "Data Items" (rechte Spalte) maßgeblich, nicht der Feldinhalt (Tabellenname) bei "Data Source"(mittlere Spalte).

Re: RDLC: Neues Feld aktualisiert sich nicht pro Zeile

26. Oktober 2015 09:28

Hallo Kowa,

Danke sehr für Deine Idee!

Ich habe die zwei Zeilen, wo GET und SETFILTER vorkommen auskommentiert. Leider kein passendes Ergebnis bzw. immer noch das falsche Ergebnis. Außerdem leere ich DescriptionVPEText mit dem CLEAR-Befehl.
Langsam frustriert mich das! :(

Re: RDLC: Neues Feld aktualisiert sich nicht pro Zeile

26. Oktober 2015 09:48

Mit "Löschen" war nicht die Zeile selber, sondern das "Warehouse Activity Line" im Code gemeint. Alternativ durch WhseActLine ersetzen, das funktioniert auch, entspricht aber nicht dem Style Guide.
Code:
IF Item.GET("Item No.") THEN BEGIN
  ItemUnitMeasure.RESET;
  ItemUnitMeasure.SETRANGE("Item No.",Item."No.");
  ItemUnitMeasure.SETFILTER(Code,'<>%1',"Unit of Measure Code");
  IF ItemUnitMeasure.FINDSET THEN BEGIN
    REPEAT
      IF DescriptionVPEText <> '' THEN
        DescriptionVPEText += '\n'; // Macht einen Zeilenumbruch innerhalb einer Textbox
      DescriptionVPEText += ItemUnitMeasure.Code + ' ' + FORMAT(ItemUnitMeasure."Qty. per Unit of Measure");
    UNTIL ItemUnitMeasure.NEXT = 0;
  END;
END;

Re: RDLC: Neues Feld aktualisiert sich nicht pro Zeile

26. Oktober 2015 09:57

Moment! :)

Ich habe die auskommentierten Zeilen wieder einkommentiert und "dort" lediglich die Tabellenbezeichnungen "Warehouse Activity Line" gelöscht. Nun greift er durch!!!!

Vielen Dank Kowa!!