4. November 2020 12:45
5. November 2020 09:12
5. November 2020 10:01
Zum Testen habe ich folgende Beispiele definiert:
Hier funktioniert alles gut. Man bekommt alle Kreditorennamen angezeigt, die den Kriterien entsprechen.
Vendor.FilterGroup := -1;
Vendor.SetRange(Vendor."POI Shipping Company", true);
Vendor.setrange(Vendor."POI Air freight", true);
Vendor.SetRange(Vendor."POI Carrier", true);
if Vendor.FindSet() then
repeat
Message(Vendor.Name);
until Vendor.Next() = 0;
Hier funktioniert es auch, da nur auf ein Feld gefiltert wird und keine Filtergroup -1 gesetzt ist.
Damit ist es kein Cross Column Filter mehr
Vendor.Reset();
//Vendor.FilterGroup := -1;
//Vendor.setrange("POI Shipping Company", true);
//Vendor.setrange("POI Air freight", true);
Vendor.setrange("POI Carrier", true);
if Vendor.FindSet() then begin
PageVendor.SetNoFilter(true);
PageVendor.SetTableView(Vendor);
if PageVendor.Runmodal() = Action::OK then begin
PageVendor.GetRecord(Vendor);
"POI Vendor No." := Vendor."No.";
end;
end;
Hier funktioniert es nicht mehr. Der ankommende Filter ist leer.
Vendor.Reset();
Vendor.FilterGroup := -1;
Vendor.setrange("POI Shipping Company", true);
Vendor.setrange("POI Air freight", true);
Vendor.setrange("POI Carrier", true);
if Vendor.FindSet() then begin
PageVendor.SetNoFilter(true); //Das ist die Page "Vendor List"
PageVendor.SetTableView(Vendor); //Bevor dieser Befehl ausgeführt wird, kann man im Recordset den Filter noch sehen.
if PageVendor.Runmodal() = Action::OK then begin
PageVendor.GetRecord(Vendor);
"POI Vendor No." := Vendor."No.";
end;
end;
5. November 2020 16:14
Rec.FilterGroup(-1)
....
PageVendor.GetRecord(Vendor)
5. November 2020 16:26
5. November 2020 16:54
5. November 2020 18:10
HansF hat geschrieben:Getrecord ist die Standardfunktion von Microsoft im Objekt Page.
5. November 2020 18:17
10. November 2020 16:29