Versteckter Filter in Comment Line - Fehler

18. Februar 2015 11:50

Guten Morgen zusammen,

entweder geht es einfach nicht, oder ich stehe auf dem Schlauch....

Folgendes Ziel habe ich:
Bestimmte Benutzer sollen nur die Bemerkungszeilen der Tabelle Item sehen können.

Mein Ansatz:
In der Tabelle User Setup habe ich ein Feld "Department", über welches ich die Benutzer einer Abteilung zuweise.
In der Form Comment Sheet im OnOpenForm habe ich folgendes eingefügt:

Code:
CLEAR(UserSetup);
UserSetup.GET(USERID);
IF (UserSetup.Department = UserSetup.Department::Einkauf) THEN BEGIN
  FILTERGROUP(2);
  SETRANGE("Table Name","Table Name"::Item);
  FILTERGROUP(0);
END;


Wird die Form nun allerdings für einen Artikel geöffnet, welcher noch keine Bemerkung hat und somit über die Standard-Funktion "SetUpNewLine" eine neue Zeile angelegt wird, kommt die Meldung "Sachkonto Nr. xxx existiert nicht".

Liege ich richtig, dass dies deshalb passiert, weil die Funktion SetUpNewLine den versteckten Filter nicht anwendet und "Sachkonto" nunmal der erste Option Eintrag von "Table Name" ist?

Funktion SetUpNewLine aus der Tabelle Comment Line:
Code:
CommentLine.SETRANGE("Table Name","Table Name");
CommentLine.SETRANGE("No.","No.");
CommentLine.SETRANGE(Date,WORKDATE);
IF NOT CommentLine.FIND('-') THEN
  Date := WORKDATE;


Weis jemand einen Lösungsweg?

MfG howare

Re: Versteckter Filter in Comment Line - Fehler

20. Februar 2015 12:36


In der Form Comment Sheet im OnOpenForm habe ich folgendes eingefügt

Code:
FILTERGROUP(2);
  SETRANGE("Table Name","Table Name"::Item);
  FILTERGROUP(0);




Hi,

das Problem ist glaube ich der "Button" Bemerkungszeile auf der Artikelkarte,
dort ist in der RunFormLink

Code:
No.=FIELD(No.),Table Name=CONST(Item)


Nehme ich dort das "Table Name=CONST(Item)" raus, dann funktioniert dein Code im ONOpenForm Trigger

Ich vermute mal da wird ein Filterwert übergeben, der nicht gesetzt werden kann weil du ihn versteckst.
So wie dein Code da steht läuft das Programm erst gar nicht in die Function SetUpNewLine rein.

Aber den Filter dort verstecken bringt ja auch nichts da er ja manuell ausgewählt werden kann.

Ich würde ja ein neues Formular machen, und dort dann den Filter im SourceTableView festlegen. ( So wie bei VK Aufträgen) Wo es auch nicht möglich ist auf VK Angebote zu filtern.

[gelöst] Versteckter Filter in Comment Line - Fehler

25. Februar 2015 16:41

Habe es jetzt ein bisschen anders gelöst, um keine neue Form zu benötigen.

Habe die PushAction von dem Button herausgenommen und im OnPush Trigger der Form den Aufruf realisiert:

Code:
CommentLine.FILTERGROUP(2);
CommentLine.SETRANGE("Table Name",CommentLine."Table Name"::Item);
CommentLine.SETRANGE("No.","No.");
CommentLine.FILTERGROUP(0);
FORM.RUNMODAL(FORM::"Comment Sheet",CommentLine);