Lizensierte Objekte markieren

8. Januar 2006 00:56

Wer schonmal alle (bzw. sehr viele Objekte) auf einmal im Text-Format exportieren musste, kennt das Problem:
Ein Objekt ist (fast) immer dabei, auf das man keine Lese-Berechtigung besitzt.

Dieser Report (ID: 99999) überprüft die (gefilterten) Objekte auf ein auswählbares Recht (meist wird "Lesen" benötigt) und setzt ein frei definierbares Zeichen (Standard: ~) an den Anfang (bzw. das Ende) der Versionsliste.

Anschließend kann man in der Versionsliste auf ~* filtern und diese Objekte problemlos im Textformat exportieren.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Lizensierte Objekte markieren

2. Oktober 2008 11:50

Hallo,

in der Paketdatei sind die txt. und .fob Datei identisch, kann jemand bitte das Objekt als .txt bereitstellen.
Danke ...

Unter 99999 liegt bei uns bereits ein Report vor, dieser ist aber nicht lizenziert, ich kann den Report nicht löschen. :-(

NACHTRAG: Ich kann den bestehenden Report durch den Import überschreiben lassen :?: :?: :?:
Das bringt mir aber auch nichts, ich habe keine Zugriffsberechtigungen!

Re: Lizensierte Objekte markieren

2. Oktober 2008 14:47

phantom hat geschrieben:in der Paketdatei sind die txt. und .fob Datei identisch, kann jemand bitte das Objekt als .txt bereitstellen.

Danke für den Hinweis, ich habe das Paket nochmal neu (in der aktuellsten Version) hochgeladen.
Mittlerweile verwende ich für die Fortschrittsanzeige eine zentrale (performance-optimierte) Codeunit, daher habe ich die mir in die Objekte gepackt.

Re: Lizensierte Objekte markieren

4. Oktober 2010 17:55

Hi,

kurze Frage: Könnte man nicht anstatt die Markierungen in der Versionsliste vorzunehmen, direkt über Satzmarkenmarkierungen machen?

Warum frage ich? Weil wir in unserem System > 120 Mandanten haben und alleine das markieren um die 15 min dauert. Wenn ich dann die Markierten Objekte via Satzmarke setzen markiere und dann NOCHMAL den Report durchlaufen lassen muss, dauert das insgesamt mind. ~ 30 Min. Mit einer direkten Satzmarkenmarkierung würde ich die Hälfte der Zeit sparen ;-)

Ich habe bereits versucht Anpassungen vorzunehmen, aber funktioniert hat es leider nicht.

Viele Grüße,

Janosch

Re: Lizensierte Objekte markieren

4. Oktober 2010 18:03

janosch hat geschrieben:kurze Frage: Könnte man nicht anstatt die Markierungen in der Versionsliste vorzunehmen, direkt über Satzmarkenmarkierungen machen?
[...]
Ich habe bereits versucht Anpassungen vorzunehmen, aber funktioniert hat es leider nicht.

Hallo Janosch,

vielen Dank für deinen Verbesserungsvorschlag, leider hast du schon selber festgestellt, dass es nicht möglich ist, die Satzmarken so zu setzen, dass diese im Object Designer verwendet werden könnten.

Selbst das sehr umfangreiche und trickreiche Tool Object Manager (welches viele vorher undenkbare Sachen bewerkstelligen kann) ist nicht dazu nicht in der Lage (auch nicht in der Advanced Version) und muss nach demselben Prinzip wie dieses Tool vorgehen.

Re: Lizensierte Objekte markieren

14. März 2014 22:06

Alternative mittels Sperrfunktion im Object Designer (ganz ohne Programmierung!): Microsoft Dynamics NAV: How To Identify Licensed and Out of Range Objects

Re: Lizensierte Objekte markieren

17. März 2014 12:52

Hallo in die Runde,

wir haben es momentan folgendermaßen gelöst:

Code:
Object - OnAfterGetRecord()
---

Name           DataType   Subtype   Length
Permission   Record   License Permission   
Object2           Record   Object   
ExportObject     Table   Record   Object   <---- Temporary   

---
Object2 := Object;
IF Permission.GET(Object2.Type,Object2.ID) THEN
          IF (Permission."Read Permission" = Permission."Read Permission"::Yes) OR
           (Permission."Insert Permission" = Permission."Insert Permission"::Yes) OR
           (Permission."Modify Permission" = Permission."Modify Permission"::Yes) OR
           (Permission."Delete Permission" = Permission."Delete Permission"::Yes) OR
           (Permission."Execute Permission" = Permission."Execute Permission"::Yes)
        THEN BEGIN
          ExportObjectTable.Type := Object2.Type;
          ExportObjectTable.ID := Object2.ID;
          ExportObjectTable.INSERT;
        END;


Danach dann per ExportObjects Funktion die Objekte aus ExportObjectTable in File schreiben lassen.

Das geht deutlich schneller.

Viele Grüße,
Janosch

Re: Lizensierte Objekte markieren

20. Oktober 2014 14:49

Ab NAV 2015 geht es auch ganz ohne markieren, mit einem Filterschalter im Cmdlet Export-NAVApplicationObject, siehe hier.