Domino 9 und frühere Versionen > Entwicklung

Counter für Dokumente

(1/1)

nafets:
Hi @All,  ;D

habe eine Datenbank in der allgemeine Infos abgelegt werden. Die meisten User haben nur Lesezugriff. Ich möchte nun einen Zähler für den Lesezugriff auf die Dokumente einrichten. Hab mal was ähnliches im Forum gelesen für Ansichten, hab den Artikel aber nicht mehr gefunden.

Hat jemand ne Idee  ???

Gruß Stefan

eknori (retired):
Hab hier eine Formel, die du in ein Feld "Berechnet beim Anzeigen" eifügen kannst.
Beim ersten Aufruf zeigt das feld eine Fehlermeldung;der
Fehler tritt dann auf, wenn du das Feld in ein schon bestehendes Dokument einfügst: Du musst die Dokumente in der DB erst refreshen, damit das Feld in allen Docs bekannt ist.


profilename := "Document History Usage Count"+ @Text(@DocumentUniqueID);
timestamp := @Now;
count := @GetProfileField(profilename; "Count");
@If(@IsNewDoc | @IsDocBeingSaved;
@Do(@Set("count"; 0));
count=0;
@Do(@Set("count";1); @SetProfileField(profilename; "TimeStamp"; timestamp));
@Do(@Set("timestamp";@GetProfileField(profilename; "TimeStamp")); @Set("count"; count+1)));

@SetProfileField(profilename; "Count"; count);
"This Document has been accessed " + @Text(count) + " time(s) since " + @Text(timestamp; "D0T1S2")



eknori

nafets:
hab so was ähnliches schon ausprobiert:

Im Postopen der Maske hab ich folgende Formel geschrieben:

_field := @Text(@DocumentUniqueID);
_exist := @GetProfileField("CounterProfil"; _field);
_value := @If( @IsNumber(@TextToNumber(_exist)); @Text(@TextToNumber(_exist)+1) ; "0");
@SetProfileField( "CounterProfil"; _field; _value)

Allerdings funktioniert das nur, wenn der User min. Autorrechte in der DB hat. Für Leser kommt beim Öffnen folgende Fehlermeldung:

Sie sind zur Durchführung dieser Aktion nicht berechtigt.

Werde deinen Code mal auprobieren

Timo_Bakenecker:
Hallo,

ja das Counter Problem, immer wieder gerne gesehen, da ich noch keine große Script Leuchte bin , habe ich das mal mit Profildokumenten versucht. Hat auch mal hingehauen, ist aber schon soo lange her ( Danke Alzheimer ! ) daß ich es beim letzten versuch nicht mehr hinbekommen habe !

Gruß,
Timo

P.S.  Werde ebenfalls mal Deinen Code testen Eknori, Danke :- ))

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln