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
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 ... (