Autor Thema: Dokument ohne DocUnID ?  (Gelesen 3041 mal)

Offline Jérôme

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Geschlecht: Männlich
  • Teigwaren heißen Teigwaren weil sie mal Teig waren
    • jerome-gamez.de
Dokument ohne DocUnID ?
« am: 04.11.02 - 22:35:57 »
Ich hab ein für mich als Anfänger eher befremdliches Problem.

Ich will über die @Formel @GetDocField einen Feldwert des aktuellen Dokuments erhalten. Dazu hab ich in der Hilfe auch das Beispiel

@GetDocField($Ref; "Thema")

mit dem Hinweis gefunden, dass Ref die DocumentUniqueID des aktuellen Dokuments enthält.

Leider hat das Dokument, das ich hier habe, kein solches Ref-Feld.

Kann das überhaupt sein? Und wenn ja, wie bekomm ich eine ID? Und falls nicht, wie komm ich an mein Feld?

Fragen über Fragen, ich hoffe, jemand weiß die Antwort.

Vielen Dank auf jeden Fall schon mal im Voraus!

Jérôme

PS: Im Anhang ist ein Screenshot der Eigenschaftenbox.
« Letzte Änderung: 04.11.02 - 22:37:00 von Jerome »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokument ohne DocUnID ?
« Antwort #1 am: 05.11.02 - 09:05:58 »
Hi,

das Feld $Ref ist nur in Antwortdokumenten vorhanden.

Hier ein Auszug aus der Designer - Hilfe:
Zitat
Übergeordnete und untergeordnete Dokumente
Anwendungsentwickler können die eindeutige ID verwenden, um durch Antworthierarchien von Dokumenten zu navigieren. Jedes untergeordnete Dokument hat ein spezielles Feld namens $Ref, das die eindeutige ID des zugehörigen übergeordneten Dokuments enthält. Folgende Dokumente sind hierarchisch angezeigt:
1.0 Was ist Ihre Lieblingsfarbe? ( 1 Antwort)
     1.1 Meine Lieblingsfarbe ist blau.
@@DocumentUniqueID gibt für das Dokument 1.0 zurück:
FF863D8A:CB6E2210-852561BD:005867C7
Das Feld $Ref im Dokument 1.1 enthält dieselbe Zeichenfolge:
FF863D8A:CB6E2210-852561BD:005867C7
Das bedeutet, daß Sie im untergeordneten Dokument Formeln eingeben können, die das übergeordnete Dokument suchen, indem sie das Feld $Ref mit dem Wert vergleichen, den @DocumentUniqueID zurückgibt.


Den Feldwert des aktuellen Dokuments bekommst du wenn du einfach den Feldnamen angibst.

Beispiel:

Diese Formel ist in einem Aktionsbutton der Maske oder einer Ansicht enthalten.

@Prompt([OK]; "Feldwert"; Feldname)

Damit  wird dir der Inhalt des Feldes Feldname des aktuellen Dokumentes (in der Ansicht das Dokument das markiert ist) angezeigt.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #2 am: 05.11.02 - 11:32:59 »
@Axel
... ich glaube Jerome meint, wie er an die DocID dieses Dokumentes kommt, wenn sein Dokument kein Antwortdokument ist... die kann er sich mit der Meldung anzeigen lassen, aber das wars dann auch schon...

@Jerome
... beim  Erstellen deines Dokumentes gibt es die Möglichkeit Werte aus einem Ursprungsdokument zu "erben".
Dazu muß die Maskeneigenschaft "Formeln übernehmen Werte aus gewähltem Dokument" aktiviert sein.
In deinem Ursprungsdokument brauchst du ein Feld, nenne es zum Beispiel "DocID". Das Feld ist berechnet beim Anlegen und enthält die Formel "@Text(@DocumentUniqueID)"
Dann benötigst du ein Text-Feld in deinem "Unterdokument", nenne es zum Beispiel "ParDocID"
Dieses Feld hat die Formel "DocID" und ist ebenfalls "Berechnet beim Anlegen".

Jetzt gibt es zwei Möglichkeiten:

Das "Unterdokument" aus einer Ansicht erstellen:
Dazu muß das Dokument markiert sein, dessen Werte du erben willst. In einer Aktion hast du die Formel "@Command([Compose] ; "Maskenname_Unterdokument")"

Aus einem Dokument heraus:
In einer Aktion hast du die Formel "@Command([Compose] ; "Maskenname_Unterdokument")"

Falls du Dokumente nachpflegen willst, brauchst du einen entsprechenden Agenten...

ata
Grüßle Toni :)

Offline Jérôme

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Geschlecht: Männlich
  • Teigwaren heißen Teigwaren weil sie mal Teig waren
    • jerome-gamez.de
Re:Dokument ohne DocUnID ?
« Antwort #3 am: 05.11.02 - 11:49:50 »
Vielen Dank für die Antworten, Axel und Ata.

Es geht mir gar nicht mal um das Problem von Unterdokumenten, es geht mir nur darum, dass das Dokument eine DocID erhält, die ich für das nachträgliche Verändern von Feldern benötige.

Habe ich das richtig verstanden, dass ich dazu in jedem Dokument ein Feld anlegen muss, das berechnet beim Anlegen ist und die Formel "@Text(@DocumentUniqueID)" enthält?

Ich dachte immer, jedes Dokument hätte automatisch eine UnID... *seufz*


Eine andere Frage, ich hoffe, ich darf sie hier stellen, und ihr seid nicht zu genervt, dass ich so viele dumme Fragen stelle:

Ich habe folgenden Agenten geschrieben, der in einem Dokument 2 Felder ändern soll.

CarryOverTime_Display ist ein Textfeld und dient zur Darstellung von Überstunden, die aus dem letzten Jahr übernommen werden
CarryOverTime ist ein Integer-Feld, das die Überstunden aus dem letzten Jahr in Minuten umgewandelt aufnehmen soll.

Hier der Agent:


OverTime := @Prompt([OKCANCELEDIT]; "Geben Sie die Anzahl der Überstunden ein"; "Geben Sie die ganzzahlige Anzahl der Über- oder Minusstunden in das untere Feld ein"; "0");
@Command([EditDocument]);
@SetField ( "CarryOver_OverTime_Display"; OverTime);
@TextToNumber(OverTime);
OverTime = OverTime * 60;
@SetField ( "CarryOver_OverTime"; OverTime );
@PostedCommand([FileSave]);
@PostedCommand([EditDocument])


Eigenartigerweise scheint Notes die Zeile "OverTime = OverTime * 60" zu überspringen. Ich bin sicher, das ist nur ein DAU-Problem, und es ist mir wirklich ein bisschen peinlich, aber ich komme nicht weiter.

Vielen Dank für eure Hilfe nochmals!

Jérôme

PS: Erwähnte ich schon, dass ich nur Azubi bin und das alles erst lerne? ;) *Ausredensuch*

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #4 am: 05.11.02 - 11:52:27 »
... da fehlt ein Doppelpunkt...

ata
Grüßle Toni :)

Offline Jérôme

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Geschlecht: Männlich
  • Teigwaren heißen Teigwaren weil sie mal Teig waren
    • jerome-gamez.de
Re:Dokument ohne DocUnID ?
« Antwort #5 am: 05.11.02 - 11:55:15 »
dann heißt es aber "Die Variable ist bereits definiert" - das habe ich schon ausprobiert. Auch die Variante mit @Set, also

@Set (OverTime; OverTime*60)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #6 am: 05.11.02 - 11:55:36 »
... zum vorherigen Thema DocID:

Jedes Dokument hat eine, das ist richtig. Nur wenn du dich auf dieses Dokument aus der ferne beziehen möchtest, dann brauchst du natürlich dessen "Adresse" - dessen UNID - und die mußt du irgendwie mitnehmen oder nachreichen...

ata
Grüßle Toni :)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokument ohne DocUnID ?
« Antwort #7 am: 05.11.02 - 12:06:41 »
Zitat
Habe ich das richtig verstanden, dass ich dazu in jedem Dokument ein Feld anlegen muss, das berechnet beim Anlegen ist und die Formel "@Text(@DocumentUniqueID)" enthält?

Ich dachte immer, jedes Dokument hätte automatisch eine UnID... *seufz*

Hi,

du musst nicht unbedingt ein Feld für die ID anlegen. Das Dokument hat immer eine UnID. Du kannst auch jedesmal, wenn du die UnID brauchst, sie mit der Formel @Text(@DocumentUniqueID) abfragen.

Bei @GetDocField würde das dann so aussehen:

@GetDocField( @Text(@DocumentUniqueID); Feldname )

Ich hab mir angewöhnt, in allen Masken ein Feld mit der UnID aufzunehmen. Das macht das Handling deutlich einfacher.

Zitat
Eine andere Frage, ich hoffe, ich darf sie hier stellen, und ihr seid nicht zu genervt, dass ich so viele dumme Fragen stelle:

Hier nervt niemand und reagiert auch nicht genervt und ausserdem gibt es keine dummen Fragen. Es ist auch klar, wenn jemand sich in Notes einarbeitet, dass sich viele, vielleicht auch mal einfache Fragen ergeben. Also: frage, wenn du ein Problem hast.

Axel








Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #8 am: 05.11.02 - 12:07:40 »
... um in formelsprache einer bereits verwendeten Variablen erneut einen Wert zuzuweisen, mußt du

@Set( variableName ; value )

verwenden...

ata
Grüßle Toni :)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokument ohne DocUnID ?
« Antwort #9 am: 05.11.02 - 12:09:31 »
dann heißt es aber "Die Variable ist bereits definiert" - das habe ich schon ausprobiert. Auch die Variante mit @Set, also

@Set (OverTime; OverTime*60)


Versuch's mal so:

@Set ("OverTime"; OverTime*60)

Axel


Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Jérôme

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Geschlecht: Männlich
  • Teigwaren heißen Teigwaren weil sie mal Teig waren
    • jerome-gamez.de
Re:Dokument ohne DocUnID ?
« Antwort #10 am: 05.11.02 - 12:13:22 »
Versuch's mal so:

@Set ("OverTime"; OverTime*60)

Axel

Das war es! Danke! *froi*


Das mit der UnID werde ich gleich mal versuchen.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #11 am: 05.11.02 - 12:50:46 »
@Axel
... ich denke du hast einen Denkfehler drin:
Zitat
@GetDocField( @Text(@DocumentUniqueID); Feldname )/quote]

Du würdest mit dieser Formel auf das eigene Dokument zugreifen, den die UNID die du übergibst ist die des Dokumentes...

@Jerome
... wir allle haben mal angefangen blöde zu fragen, ich mach das auch heute noch...   ;D ;D ;D

... ist der Ruf erst mal blamiert - lebts sich's gänzlich ungeniert...

ata
Grüßle Toni :)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Dokument ohne DocUnID ?
« Antwort #12 am: 05.11.02 - 13:07:44 »
@ata

Hast recht.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Jérôme

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Geschlecht: Männlich
  • Teigwaren heißen Teigwaren weil sie mal Teig waren
    • jerome-gamez.de
Re:Dokument ohne DocUnID ?
« Antwort #13 am: 05.11.02 - 13:10:19 »
@Axel
... ich denke du hast einen Denkfehler drin:
Zitat
@GetDocField( @Text(@DocumentUniqueID); Feldname )

Du würdest mit dieser Formel auf das eigene Dokument zugreifen, den die UNID die du übergibst ist die des Dokumentes...

Aber ist es nicht das, was ich wollte? Auf das eigene Dokument zugreifen, um dort einen Wert zu ändern?  ???

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #14 am: 05.11.02 - 13:14:23 »
... sorry, dann hab ich das falsch verstanden...

... nur dazu bedarf es nicht des Fernzugriffes, das ist Performance-technisch über Rom nach Hamburg fahren...

Im eigenen Dokument benutzt du entweder

     FIELD Feldname := "Wert" ;

oder

     @SetField("Feldname" ; "Wert")

innerhalb von @If(...) oder @Do(...)

ata
Grüßle Toni :)

Offline Jérôme

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Geschlecht: Männlich
  • Teigwaren heißen Teigwaren weil sie mal Teig waren
    • jerome-gamez.de
Re:Dokument ohne DocUnID ?
« Antwort #15 am: 05.11.02 - 13:16:51 »
Vorher muss ich aber ja noch auf den Feldwert zugreifen, den ich verändern möchte.

Beispielsweise, wenn im Feld eine Zahl steht, und ich zu dieser Zahl etwas dazuaddieren will.

Sorry, ich hab mich auch unverständlich ausgedrückt...

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Dokument ohne DocUnID ?
« Antwort #16 am: 05.11.02 - 13:27:24 »
... einen Feldwert liest du mit dem feldnamen aus:

@If(Overtime >= X; @SetField("Overtime"; Overtime * 60);@Success)

Wenn Overtime größer gleich X ist, wird das Feld Overtime neu gesetzt mit (Overtime * 60)

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz