Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 11:32

Hallo,

in der Forumssuche habe ich nichts gefunden, also:

gibt es die Möglichkeit, den Usern zu verbieten, dass sie bestimmte Spalten einer Form verschieben oder ausblenden können?

Re: Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 13:04

Du könntest beispielsweise die Zugriffsrechte der Rolle "Alle" in eine neuen Rolle kopieren, z.B. in "AlleohneDesign".
Danach entfernst du das Zugriffsrecht "System","3510","View, Design" aus der neuen Rolle oder entfernst dort wenigstens das "ja" bei Ausführen.
Dem Benutzer oder den Benutzern gibst du dann statt der Rolle "Alle", die Rolle "AlleohneDesign".

P.S. Das klappt natürlich nur sofern ihr die Standardrechtevergabe von Navision verwendet.

mfg,
winfy

Re: Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 13:16

Ich glaube, hier ist das Verschieben der Spalten in einer TableBox gemeint.
Das Verschieben selber lässt sich dort nicht verhindern, jedoch könntest du versuchen, mit den Form-Properties SaveControlInfo und/oder SaveColumnWidths das Speichern dieser neuen Anordnung in der ZUP-Datei zu unterbinden.

Re: Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 13:18

winfy hat geschrieben:Du könntest beispielsweise die Zugriffsrechte der Rolle "Alle" in eine neuen Rolle kopieren, z.B. in "AlleohneDesign".
Danach entfernst du das Zugriffsrecht "System","3510","View, Design" aus der neuen Rolle oder entfernst dort wenigstens das "ja" bei Ausführen.
Dem Benutzer oder den Benutzern gibst du dann statt der Rolle "Alle", die Rolle "AlleohneDesign".

P.S. Das klappt natürlich nur sofern ihr die Standardrechtevergabe von Navision verwendet.

mfg,
winfy


Hey cool, das habe ich gerade auch gesucht.

Re: Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 13:42

Timo Lässer hat geschrieben:Ich glaube, hier ist das Verschieben der Spalten in einer TableBox gemeint.
Das Verschieben selber lässt sich dort nicht verhindern, jedoch könntest du versuchen, mit den Form-Properties SaveControlInfo und/oder SaveColumnWidths das Speichern dieser neuen Anordnung in der ZUP-Datei zu unterbinden.


Hallo Timo,

ich meinte auch die Tablebox! :wink:
Das sollte so funktionieren, zumindestens wenn man nicht gerade andere "SUPER"-User so einschränken möchte.
Es könnte ansonsten Problem im Objektdesigner geben.

mfg,
winfy
Zuletzt geändert von winfy am 30. April 2012 14:10, insgesamt 1-mal geändert.

Re: Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 13:55

cool, werd ich gleich mal ausprobieren.

allerdings gilt das dann wohl für alle Forms..?
ich wollte das ja nur bei einigen Forms machen.

Re: Verbieten von Spaltenverschiebungen in einer Form

30. April 2012 14:39

wirtnix hat geschrieben:cool, werd ich gleich mal ausprobieren.

allerdings gilt das dann wohl für alle Forms..?
ich wollte das ja nur bei einigen Forms machen.


Achso, jetzt weiß ich auch was Timo damit meinte.
Die Rechte würden natürlich alles betreffen.

mfg,
winfy

Re: Verbieten von Spaltenverschiebungen in einer Form

4. Mai 2012 15:40

wirtnix hat geschrieben:cool, werd ich gleich mal ausprobieren.

allerdings gilt das dann wohl für alle Forms..?
ich wollte das ja nur bei einigen Forms machen.


Hallo,

das Property SaveColumnWidths kannst du doch pro Form setzen. Würde allerdings bewirken das für diese Form für alle Benutzer das verschieben und ausblenden nicht möglich ist.

Re: Verbieten von Spaltenverschiebungen in einer Form

22. Mai 2012 07:39

Hallo,

wenn ich das richtig verstehe geht es um das ale Problem:
"User ruft an : Die Menge ist garnicht mehr da?? Was ist passsiert?!"
>>> Wieder einmal ausgeblendet und in die zup Datei geschrieben...

Man könnte als Lösungsweg nach zum B. einem Kennzeichen in der Usertabelle dynamisch beim öffnen der Form
Spalten ein oder ausblenden? Ob das auch die Breite der Spalten aus der zup Datei überschreibt weiß ich allerdings nicht.
Das sähe dann im Open Form Trigger so aus:

Code:
IF USERID = 'KLAUS' THEN BEGIN
  CurrForm."Shipment Date".VISIBLE:=FALSE;
  CurrForm."Source No.".VISIBLE:=FALSE;
  CurrForm."Document No.".VISIBLE:=FALSE;
  CurrForm."Remaining Quantity".VISIBLE:=FALSE;
  CurrForm."Invoiced Quantity".VISIBLE:=FALSE;
END ELSE BEGIN
  CurrForm."Global Dimension 1 Code".VISIBLE:=TRUE;
  CurrForm."Global Dimension 2 Code".VISIBLE:=FALSE;
  CurrForm."Variant Code".VISIBLE:=FALSE;
END;


Vielleicht hilft dir das weiter.

Gruß Matthias