11. August 2009 12:07
greWorkTimeRights.RESET;
greWorkTimeRights.SETFILTER(Code,USERID);
greWorkTimeRights.SETFILTER(greWorkTimeRights."Permission From",'%1',100809D);
IF greWorkTimeRights.FINDSET THEN BEGIN
SETFILTER("No.",greWorkTimeRights."Job No.");
FINDSET;
END ELSE BEGIN
SETFILTER("Person Responsible",USERID);
FINDSET;
END;
11. August 2009 12:16
greWorkTimeRights.RESET;
greWorkTimeRights.SETFILTER(Code,USERID);
greWorkTimeRights.SETFILTER(greWorkTimeRights."Permission From",'%1',100809D);
IF greWorkTimeRights.FINDSET THEN BEGIN
SETFILTER("No.",greWorkTimeRights."Job No."); // <-- setzt nur den Filter auf die Nummer des ersten records
FINDSET;
END ELSE BEGIN
SETFILTER("Person Responsible",USERID);
FINDSET;
END;
11. August 2009 12:20
11. August 2009 12:29
greWorkTimeRights.RESET;
greWorkTimeRights.SETFILTER(Code,USERID);
greWorkTimeRights.SETFILTER(greWorkTimeRights."Permission From",'%1',100809D);
IF greWorkTimeRights.FINDSET THEN
begin
repeat
SETFILTER("No.",greWorkTimeRights."Job No.");
if FINDSET then repeat
mark(true);
until next=0;
until greWorkTimeRights.next=0;
markedonly:=true;
end
ELSE BEGIN
SETFILTER("Person Responsible",USERID);
FINDSET;
END;
11. August 2009 12:48
11. August 2009 13:13
Natalie hat geschrieben:Im OnOpen-Trigger brauchst du übrigens das FINDSET nicht.
11. August 2009 13:21
McClane hat geschrieben:
- Code:
greWorkTimeRights.RESET;
greWorkTimeRights.SETFILTER(Code,USERID);
greWorkTimeRights.SETFILTER(greWorkTimeRights."Permission From",'%1',100809D);
IF greWorkTimeRights.FINDSET THEN
begin
repeat
SETFILTER("No.",greWorkTimeRights."Job No.");
if FINDSET then repeat
mark(true);
until next=0;
until greWorkTimeRights.next=0;
markedonly:=true;
end
ELSE BEGIN
SETFILTER("Person Responsible",USERID);
FINDSET;
END;
Ein wenig hingeschmiert sollte aber gehen
11. August 2009 13:25
11. August 2009 13:26
11. August 2009 13:45
11. August 2009 13:46
greWorkTimeRights.RESET;
greWorkTimeRights.SETFILTER(Code,USERID);
greWorkTimeRights.SETFILTER(greWorkTimeRights."Permission From",'%1',100809D);
IF greWorkTimeRights.FINDSET THEN BEGIN
REPEAT
SETFILTER("No.",greWorkTimeRights."Job No."); // <-- Hier wird der Filter gesetzt ...
if FINDSET then
repeat
mark(true);
until NEXT = 0;
UNTIL greWorkTimeRights.NEXT = 0;
SETRANGE("No."); // <-- ... den wir hier noch aufheben müssen, da ...
markedonly:=true; // <-- ... hier sowieso auf die Satzmarken gefiltert wird
END ELSE BEGIN
SETFILTER("Person Responsible",USERID);
FINDSET;
END;
11. August 2009 13:54
11. August 2009 14:04