BC13.3 Subpage Lookup Feld Filter

25. September 2024 14:01

Hoi zsämme,
auf die Gefahr hin, dass Ihr sämtliche vorhandenen Köpfe schüttelt: Leider habe ich trotz Suche in mehreren Foren nur viele ähnliche Dinge gefunden, aber nichts passt exakt zu meinem Thema.

Ich habe eine Page "Service Order (5900)" sowie die Subpage "Service Order Subform (5902). Im Feld "Return Reason Code" ist die TableRelation "Return Reason" angegeben.

Wie muss ich den Filter setzen, damit ich nur Datensätze angezeigt bekomme, deren Code NICHT mit 'ALT' beginnt? Oder muss ich das im OnLookup programmieren? Wenn ja, wie? Muss ich dann "ganz vorne" anfangen, mit Variable tbl_ReturnReason ... SetRANGE ... SETTABLEVIEW? Oder geht es weniger aufwändig?

Vielen Dank für Anstösse in die richtige Richtung.

Gruss
Mirko

Re: BC13.3 Subpage Lookup Feld Filter

25. September 2024 15:12

hmm, vielleicht so -> neue Funktion in "Service Order Subform" -> SetAltFilter -> der setzt eine Filter nach deinen Wünschen

-> die Funktion rufst du dann mit CurrPage....... in der "Service Order" auf

Hinweis: nur kurz hingefeuert - kein Anspruch auf Korrektheit

Code:
pageextension 50012 MyServiceOrder extends "Service Order"
{

    trigger OnOpenPage()
    begin
        CurrPage.ServItemLines.Page.SetALTFilter();
    end;
}

pageextension 50013 MyServiceOrderSub extends "Service Order Subform"
{
    procedure SetAltFilter()
    begin
        Rec.SetFilter("Service Item No.", '<>ALT*');
    end;

}

Re: BC13.3 Subpage Lookup Feld Filter

26. September 2024 11:42

Hmm, ich habe mich zu unklar ausgedrückt. Die Subpage funktioniert.

Es geht um das FELD "Return Reason Code", das einen Lookup in die Tabelle "Return Reason" macht. In diesem Lookup sollen nur die Datensätze aus "Return Reason" sichtbar sein, die im Feld Code nicht mit "ALT" beginnen. Oder (alternativer Ansatz) die im Feld Description nicht mit "INAKTIV" beginnen.

Re: BC13.3 Subpage Lookup Feld Filter

26. September 2024 14:27

Wenn die TableRelation nicht genügt dann kannst du den OnLookup Trigger des Felds in der Page benutzen und dort den Lookup ausprogrammieren. Wenn du das tust dann solltest du ggf. auch den OnValidate benutzen um ungültige eingetippte Werte abzufangen.