14. März 2011 13:23
recPurchHeader.RESET;
recPurchHeader.SETFILTER(recPurchHeader."Document Type",'%1',"Document Type");
recPurchHeader.SETFILTER(recPurchHeader."No.","No.");
CurrPage.SETSELECTIONFILTER(recPurchHeader);
recPurchHeader.SETCURRENTKEY("Buy-from Vendor No.");
IF recPurchHeader.FINDSET THEN BEGIN
   REPORT.RUNMODAL(70409, TRUE, FALSE, recPurchHeader);
END; 
			
				14. März 2011 14:00
recPurchHeader.RESET;
// raus, das nützt mit nachgeschaltetem SETSELECTIONFILTER nichts
//recPurchHeader.SETFILTER(recPurchHeader."Document Type",'%1',"Document Type");
//recPurchHeader.SETFILTER(recPurchHeader."No.","No.");
CurrPage.SETSELECTIONFILTER(recPurchHeader);
recPurchHeader.SETCURRENTKEY("Buy-from Vendor No.");
IF recPurchHeader.FINDSET THEN BEGIN
   REPEAT // NEU
     recPurchHeader2 := recPurchHeader; // NEU
     recPurchHeader.SETRECFILTER; // filtert auf Primärschlüssel NEU
     REPORT.RUNMODAL(70409, TRUE, FALSE, recPurchHeader2); // geändert
   UNTIL recPurchHeader.NEXT = 0; // NEU
END;CurrPage.SETSELECTIONFILTER(recPurchHeader);
recPurchHeader.SETCURRENTKEY("Buy-from Vendor No.");
IF ISSERVICETIER THEN BEGIN
  IF recPurchHeader.FINDSET THEN BEGIN
     REPEAT
       recPurchHeader2 := recPurchHeader; 
       recPurchHeader.SETRECFILTER;
       REPORT.RUNMODAL(70409, TRUE, FALSE, recPurchHeader2);
    UNTIL recPurchHeader.NEXT = 0; 
  END;
END ELSE BEGIN
  REPORT.RUNMODAL(70409, TRUE, FALSE, recPurchHeader);
END;14. März 2011 14:24
 
			
		14. März 2011 14:31
raggy hat geschrieben:Irgendwas mit einer temp-Tabelle wird dann auch nicht gehen - oder ??
Also dass ich die selektierten Sätze in einen temporären PurchaseHeader schreibe und den Report nur mit diesen Sätzen aufrufe.
Oder dass ich die selektierten Sätze irgendwie anders "markiere" - z.B. indem ich ein neues Feld in PurchaseHeader hinzufüge, dieses mit der USERID fülle, im Report nur die Sätze mit dieser USERID abarbeite und den Feldinhalt abschließend wieder lösche ...
Kommt mir aber irgendwie als "unschöne" Lösung vor
14. März 2011 18:30
Natalie hat geschrieben:raggy hat geschrieben:Irgendwas mit einer temp-Tabelle wird dann auch nicht gehen - oder ??
Also dass ich die selektierten Sätze in einen temporären PurchaseHeader schreibe und den Report nur mit diesen Sätzen aufrufe.
Probiers aus; ich meine aber, es würde nicht gehen. Sonst bitte korrigieren!
 
  
 Oder dass ich die selektierten Sätze irgendwie anders "markiere" - z.B. indem ich ein neues Feld in PurchaseHeader hinzufüge, dieses mit der USERID fülle, im Report nur die Sätze mit dieser USERID abarbeite und den Feldinhalt abschließend wieder lösche ...
Würde in jedem Fall funktionieren.Kommt mir aber irgendwie als "unschöne" Lösung vor
 . Man darf die "alten" Markierungen erst vor dem nächsten Aufruf löschen
 . Man darf die "alten" Markierungen erst vor dem nächsten Aufruf löschen  Die schönste Lösung bleibt (leider), mit dem RTC-Layout zu arbeiten. Damit löst du nämlich noch ganz andere Probleme.
 
  
			
		14. März 2011 19:53
raggy hat geschrieben:Nein, das geht tatsächlich nicht.
Wahrscheinlich - einfach ausgedrückt - weil den CC die temp-Tabellen aus dem RTC nicht interessieren
Und vor allem: weil der CC-Report erst zeitverzögert aufgerufen wird, darf man in der Page die "Markierung" nicht direkt nach dem Aufruf des Reports rausnehmen. Sonst sind sie weg, bevor der Report im CC startet

 )
)Was aber bedeutet, dass man einen Aufwand treiben muss, der bei im CC schon aufwändig gestalteten Reports im RTC auch nochmal ganz schön heftig ist ...(