Autor Thema: Autoren eines Doks  (Gelesen 3889 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Autoren eines Doks
« am: 25.09.04 - 22:00:38 »
Ich brauche in einer Variablen die Namen aller Autoren eines NotesDocument.

Gibts da was? In der Designerhelp hab ich nix gefunden.

Ein kurzer Hint (ja, .... / nö, gibt's ned) reicht mir schon  ;)

Wenn "nö", dann bastle ich mir eine Function, die alle Items checkt auf die IsAuthors property und lese entsprechend den Content aus.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Re: Autoren eines Doks
« Antwort #1 am: 25.09.04 - 22:06:49 »
Hallo Matthias,

suchst Du sowas?

1.   This script prints the name of each author of a document. For example, if Ivan Ash created the document and Kate Gaston modified it, the script displays "Ivan Ash" and "Kate Gaston."

Dim doc As NotesDocument
'...set value of doc...
Forall a In doc.Authors
  Messagebox( a )
End Forall´

Gruß
Andreas
Andreas Fritz

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Autoren eines Doks
« Antwort #2 am: 25.09.04 - 22:10:03 »
Hi Andreas,

nicht ganz, designer Help sagt:
Zitat
Authors property
Read-only. The names of the people who have saved a document.

Ich brauche aber eher sowas:
Code
Forall itm In doc.Items
If itm.IsAuthors Then
  vAuthorArray = Arrayappend(vAuthorArray, itm.Values) 
End If

Hab mir gedacht, es gibt evtl eine Function oder andere Möglichkeit....

Trotzdem Danke !

Matthias

*edit*
ich sehe gerade, dass ich mich nicht klar ausgedrückt habe, sorry Andreas:
Prinzipiell brauche ich die Members aller Autorenfelder. Sowas wie @Authors, aber @Authors liefert ja (je nach Kontext) nur den Inhalt des 1. Autorengfeldes.
« Letzte Änderung: 25.09.04 - 22:12:13 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Re: Autoren eines Doks
« Antwort #3 am: 25.09.04 - 22:18:04 »
Schade, das wäre aber auch zu einfach gewesen.

Dann muss ich wohl noch weitersuchen.
Andreas Fritz

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Autoren eines Doks
« Antwort #4 am: 25.09.04 - 22:23:18 »
Schade, das wäre aber auch zu einfach gewesen.
Dann muss ich wohl noch weitersuchen.

Kein Problem  ;) Du brauchst aber nicht extra danach suchen. Ich nehme einfach die item.IsAuthors property, damit bekomme ich dann die Inhalte.
Hab nur gemeint, ob es evtl. noch eine andere Property oder so dafür gibt um einfacher da ran zu kommen....
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Autoren eines Doks
« Antwort #5 am: 25.09.04 - 22:31:17 »
Matthias, sowas gibt es nicht. Selbst @Authors gibt nur den Inhalt des ERSTEN Author-Feldes aus, so lohnt also auch kein Evaluate.

Dein vorgeschlagenener Weg ist schon der absolut richtige  ;)

HTH,
Bernhard
« Letzte Änderung: 25.09.04 - 22:52:28 von koehlerbv »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Autoren eines Doks
« Antwort #6 am: 25.09.04 - 22:39:06 »
OK, danke für die Bestätigung, Bernhard.

Habe da gerade was geschrieben:

Code
Public Function GetAllAuthors(doc As NotesDocument) As Variant
	
	Dim vAuthorArray As Variant
	
	Redim vAuthorArray(0)
	Forall itm In doc.Items
		If itm.IsAuthors Then
			vAuthorArray = Arrayappend(vAuthorArray, itm.Values) 
		End If
	End Forall
	
	GetAllAuthors = Fulltrim(vAuthorArray)
	
End Function
;)

Matthias

P.S. Warum hat uns eigentlich Iris @Authors überhaupt gegeben? Gibt es da einen Grund?
In der Hide-when - Best Practices wollte ich auch schon @Authors erwähnen, aber dann ist mir zum Glück die Einschränkung eingefallen und hab es wieder gelöscht.
Ich möchte nicht wissen wieviele Programmierer da schon in die Falle getappt sind.

PPS:
Schade dass wir noch nicht den Erledigt-Buhtong haben  :)
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Autoren eines Doks
« Antwort #7 am: 04.10.04 - 23:19:40 »
Weitere Frage:

Bsp.: Man hat einen "Dokument bearbeiten" - Button in einer Maske.
Der Button soll aber nur gezeigt werden, wenn ein User Autor dieses Dokumentes ist (oder Editor oder höher lt. ACL ist).

Gibt es da überhaupt eine Möglichkeit in Formelsprache, ohne im Dokument selbst ein Feld zu platzieren, welches einem diese Abfrage abnimmt?
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Autoren eines Doks
« Antwort #8 am: 04.10.04 - 23:40:42 »
Ganz  verstehe ich die Frage jetzt nicht, Matthias. Du hast doch (unbedingt) Autorenfelder in Deinem Dokument. Dann kannst Du die doch auch ohne weiteres abfragen ?

Für HideWhens:
!(UserNamesLst *= Authorfield1 : Authorfield2 : Authorfield3)

Wenn es denn so viele Felder gibt ...

Wenn - was ich für sträflich halte - der berechtigte User nicht via Autorenfelder geführt wird, aber Editor oder höher ist, kann man ja immer noch @UserAccess einbeziehen  ;)  M.E. macht das aber die Zugriffsverwaltung (insbesondere hier mit HideWhens) nur unnötig kompliziert (anstatt diese sauber durchzuziehen).

Half das ? Ober habe ich Deine Frage "mistverstanden" ?

Servus (und herzliche Grüsse wie immer von "Ober..." nach "Nieder..."),
Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Autoren eines Doks
« Antwort #9 am: 04.10.04 - 23:51:56 »
Volltreffer, Bernhard. @UserAccess war prinzipiell genau das was ich suchte. Danke.

Erst vor ca. 4 Wochen hab ich mir mal wieder die Mühe gemacht, ALLE @Formel-Befehle im Designer durchzugehen, um einige wieder ins Gedächtnis zu bringen die man immer mal wieder vergisst weil sehr selten braucht (und die nach Murphy natürlich die Volltextsuche nicht ausspuckt wenn man was bestimmtes sucht).
Aber @UserAccess hatte ich da wohl vollkommen überlesen...

Matthias (der hinüberwinkt zu den oberbayrischen Bergen  :) )
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Autoren eines Doks
« Antwort #10 am: 04.10.04 - 23:58:23 »
Und wenn Du jetzt denkst, dass das nur Dir so geht ...  ;)
Da ich mit Autorenfeldern anders umgehe (das ist aber sicher kontextabhängig), habe ich das auch seit langem nicht mehr gebraucht und musste vorhin auch erstmal wieder "blättern"  ;)

Ich winke (nicht nur) daher fröhlich von den Bergen zurück ins Donau-Tal !

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Autoren eines Doks
« Antwort #11 am: 05.10.04 - 00:13:01 »
Ich hab das gleich mal in Bern in die Notizen gesteckt für den HideWhen-BP-Artikel, ist nämlich ein schönes weiteres Beispiel  ;)

Grüße nach "Ober..." von "Nieder..."

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz