Autor Thema: Replizierparameter  (Gelesen 4000 mal)

botschi

  • Gast
Replizierparameter
« am: 23.03.06 - 11:46:08 »
Moin zusammen,

ich würde gerne beim replizieren nur die Gestaltungelemente replizieren, die mit einer bestimmten ID signiert wurden.

Ich habe es mit den Replizierparametern versucht mit dieser Formel:
SELECT @Name([CN];$UpdatedBy) = "Bernd Hacker".

Das hat aber nicht funktioniert.

Kann man sowas irgendwie erreichen?

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Replizierparameter
« Antwort #1 am: 23.03.06 - 11:51:17 »
Hi

versuch es mal so:

SELECT @Name([CN];~$UpdatedBy) = "Bernd Hacker"

Gruss

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Replizierparameter
« Antwort #2 am: 23.03.06 - 11:56:50 »
André, für die Formelsprache ist das falsch (die Tilde wird in diesem Zusammenhang nur in LS so benutzt).

M.E. ist es aber nicht möglich, über Formeln Designelemente zur Replikation auszuwählen.

Bernhard

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Replizierparameter
« Antwort #3 am: 23.03.06 - 12:13:02 »
Uups, Sorry.

Hast Recht Bernhard.

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Glombi

  • Gast
Re: Replizierparameter
« Antwort #4 am: 23.03.06 - 12:30:41 »
Etwas Hardcore-Programmierung  ;D

Wie bringt man eine Ansicht dazu, alle Design Elemente anzuzeigen.

Dazu erstellt man bspw. eine Ansicht namens "DesignElements" und macht dann einen Execute Once Agenten:

Dim session As NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument
   
   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set view = db.GetView("DesignElements")
   If Not view Is Nothing Then
      Set doc = db.GetDocumentByUNID(view.UniversalID)
      Call doc.ReplaceItemValue("$FormulaClass", "1548")
      doc.Save True, True
   End If


Dann zeigt die View alle Design Elemente an. Welche genau, bestimmt dann "$FormulaClass".

Wenn Du dann als Zugriffsformel folgendes einträgst:

  SELECT $UpdatedBy = "... der Username..."

werden nur Elemente angezeigt, die von dem User unterzeichnet wurde.

Cool, oder  :D

siehe dazu
http://www.dominopower.com/issuesprint/issue199908/design.html

Andreas
« Letzte Änderung: 23.03.06 - 12:33:38 von Glombi »

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Replizierparameter
« Antwort #5 am: 23.03.06 - 12:31:19 »
So, das sollt aber klappen


SELECT @Name([CN];@GetDocField(@DocumentUniqueID;"$UpdatedBy")) = "Hugo Altbier"

Gruss

André

Ok, das mit der View habe ich jetzt nicht dazu geschrieben...  :)

Andreas, was ist das für ein Wert, der in $FormulaClass eingetragen wird? Tomatenaufaugen oder so...  :P

Okokok, hab die Änderung jetzt auch gesehen  :)
« Letzte Änderung: 23.03.06 - 12:36:10 von DerAndre »
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

botschi

  • Gast
Re: Replizierparameter
« Antwort #6 am: 23.03.06 - 13:22:08 »
OK, ich habs mit der Ansicht und dem Agenten hinbekommen, aber verstanden ab ich es noch nicht...

Ich habe folgendes gemacht:
1. Einen Agenten mit dem Code von Glombi erstellt
2. Eine Ansicht erstellt "DesignElements" mit der Ansichtsauswahl
SELECT @Name([CN];$UpdatedBy) = "Bernd Hacker" & $FormulaClass = "1548"
3. In den Replizierparametern eingestellt, dass nur aus der View "DesignElements" repliziert werden soll

Dann habe ich repliziert und es wurde tatsächlich nur 1 Gestaltungsdokument repliziert, alles richtig also.
Aber was macht der Agent? Wie läuft das technisch ungefähr ab? Kann das jemand anreissen?

Glombi

  • Gast
Re: Replizierparameter
« Antwort #7 am: 23.03.06 - 15:18:21 »
Hi Botschi,

ich versuche mal es zu erklären:
Für Notes sind Dokumente und Designelemente praktisch das gleiche. Jedes Designelement (na ja fast jedes) kann bspw. mit LotusScript als NotesDocument im Backend angesprochen werden.

Da es den Anwender aber wohl irritieren würde wenn er die Designelemente in Ansichten sieht, erhalten Designelemente ein besonderes Flag, damit diese nicht in Ansichten erscheinen. Für Profildokumente, die ein Zwitter zwischen Dokument und Designelement sind, gilt das auch.

Ansichten zeigen nur "normale" Dokumente an - per Default. Das liegt an dem Flag "$FormulaClass" welches eine Ansicht hat. Das Flag besagt "Zeige nur Dokumente an".
Wenn man nun bspw. mittels des o.g. Agenten den Wert des Flags (= Feldwert, da ja eine Ansicht ein Dokument ist  ;) ) ändert, so kann man auch spezielle Dokumente, nämlich Desigenelemente , anzeigen.


Hinweis: Deine Ansichtsformel kann auch nur
SELECT @Name([CN];$UpdatedBy) = "Bernd Hacker"
heissen.

Andreas

botschi

  • Gast
Re: Replizierparameter
« Antwort #8 am: 23.03.06 - 17:07:03 »
Ah OK, ich habs teilweise verstanden.
Warum der Agent scheinbar nur 1 Dokument speichert
"If Not view Is Nothing Then
      Set doc = db.GetDocumentByUNID(view.UniversalID)
      Call doc.ReplaceItemValue("$FormulaClass", "1548")
      doc.Save True, True
   End If"

und deswegen alle Elemente zu sehen sind verstehe ich nicht ganz.
Und meine replikation der Elemente, die mit einer bestimmten ID signiert wurden, funktioniert doch noch nicht richtig.
Meine Ansichtsauswahl ist select @Name([CN];$UpdatedBy) = "Bernd Hacker".

Nur so werden alle Elemente angezeigt, die in der Liste von $UpdatedBy irgendwo "Bernd Hacker" stehen haben. Ich brauch aber nur die Elemente, in denen "Bernd Hacker" als letztes steht. Also nur die Elemente, die "Bernd Hacker" als signatur haben.
So könnte ich in den Replizierparametern die Ansicht angeben und gut ist.

Ich brauch hilfe...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Replizierparameter
« Antwort #9 am: 23.03.06 - 17:18:25 »
Designelemente haben doch nur einen Wert unter $UpdatedBy zu stehen ...

Prinzipiell: Das letzte Element bekommst Du mit @Subset (DeinFeld; -1).

Bernhard

botschi

  • Gast
Re: Replizierparameter
« Antwort #10 am: 23.03.06 - 18:25:58 »
Nein, das $UpdatedBy enthält mehrere Werte.

Das mit dem "@Subset (DeinFeld; -1)" weiss ich, aber wie sage ich das dem Replizierparameter? Irgendwie funzt das nicht.

Und das Subset in die Ansichtsauswahl zu packen haut auch nicht richtig hin. SO könnte ich dem Parameter ja einfach die Ansicht geben und gut ist.

Wahrscheinlich muss ich nur ein wenig tüfteln, ich gebe aber bescheid wenn es funktioniert.
Prinzipiell funktioniert es mit dem $FormulaClass usw. aber sehr gut.
Jetzt nur noch aus den Einzelteilen ein Ganzes machen....

Glombi

  • Gast
Re: Replizierparameter
« Antwort #11 am: 23.03.06 - 18:30:59 »
Die Zugriffsformel der ANSICHT muss lauten:

_LetzeAenderungVon :=
@If(
  @Elements($UpdatedBy) > 1;
     @Subset(@Name([CN];$UpdatedBy);-1);
  @Name([CN];$UpdatedBy)
);
SELECT _LetzeAenderungVon = "Bernd Hacker"


In den Replizierparametern dann nur die Ansicht auswählen, sonst nix,

Andreas

botschi

  • Gast
Re: Replizierparameter
« Antwort #12 am: 23.03.06 - 18:53:07 »
Vielen, vielen Dank!

Sehr schön, ich bin begeistert!  ;D

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Replizierparameter
« Antwort #13 am: 23.03.06 - 19:46:01 »
Ah, Ok, jetzt ist da auch was bei mir angekommen   :P

Ich hatte mich schon gewundert warum der Select nicht klappen soll. Ok, wenn er als Replizierparameter angegeben ist.... Das hab ich zwar gelesen, ist aber nicht bei mir angekommen ::)

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz