Autor Thema: ID des Parentdocuments in einem neuen Childdoucment herausfinden  (Gelesen 2661 mal)

Offline klox

  • Frischling
  • *
  • Beiträge: 29
Hallo,

Der Betreff enthält schon meine komplette Frage. Ich möchte in Formelsprache mittels @GetDocField auf ein Feld aus dem Parentdocument zugreifen. Da das $Ref Feld erst nach dem ersten Speichern gefüllt ist finde ich keine Möglichkeit diese Beziehung herzustellen.

Ich bin auch schon einmal die Liste der Formelbefehle durchgegangen, konnte aber nichts finden. Hat jemand eine Idee?

mfg
klox

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Kannst Du nicht die Masken-Option "Felder übernehmen Werte aus gewähltem Dokument" verwenden?

Bernhard

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Hier noch gleich der Text aus der Hilfe...  ;)

So erstellen Sie ein Feld, das Werte aus anderen Dokumenten übernimmt
Erstellen Sie Felder, die Informationen aus anderen Dokument übernehmen, um Benutzern unnötige Eingaben oder das Vereinheitlichen verwandter Dokumente zu ersparen. Öffnen Sie die Maske.
  1.   Wählen Sie "Gestaltung - Eigenschaften: Maske".
  2.   (Optional) Um Endbenutzern das Hauptdokument in der Dokumentvorschau des Notes Clients anzuzeigen, klicken Sie auf das Register "Vorgaben", wählen Sie "Beim Öffnen: Kontextfenster anzeigen" und anschließend "Hauptdokument".
  3.   Wählen Sie "Beim Erstellen: Formeln übernehmen Werte aus gewähltem Dokument".
  4.   Erstellen Sie die Felder, die Werte übernehmen sollten.
  5.   Schreiben Sie einen Standardwert oder eine Feldberechnungsformel für jedes Feld, das den Feldnamen des Hauptdokuments als Wert verwendet. Um z. B. den Wert des Felds "VollstName" zu übernehmen, benutzen Sie "VollstName" als Formel in dem Feld, das den Wert übernimmt.


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 klox

  • Frischling
  • *
  • Beiträge: 29
Kannst Du nicht die Masken-Option "Felder übernehmen Werte aus gewähltem Dokument" verwenden?

Bernhard

Ich habe eine Subform in der ich Felder habe deren Inhalt anhand einer Formel berechnet wird die man in der Configuration festlegen kann (@Eval). An das Design dieser Subform kann ich im Moment nicht ran, da die Datenbank schon "live" ist.

Ich kann also nur diese Formel ändern!

Gibt es wirklich keine Möglichkeit mittels Formelsprache auf das Parentdocument eines neuen Childdocuments zuzugreifen?

mfg
klox

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Mach eine Kopie von der Datenbank und die Kopie erklärst Du zur Schablone ( nenn die Kopie dann am besten gleich sinnvollername.ntf ) . Oder hast Du keine Rechte mehr an der Datenbank?
Dann kannst Du schön am Design arbeiten. Und wenn alles Ok ist, Schablone auf DB.


Wenn Du die Subform nicht ändern kannst, warum dann die Formel? Die Formel ist genauso Live wie die Subform...

Du kannst auch mit der Axt in den Wald gehen und die UNID des Parent beim erstellen des Child in das Child schreiben...  :)

Aber Bernhards Methode ist besser, da muss man nichts Programmieren sondern nur was an den Eigenschafen ändern.

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
Warum muss das eigtentlich unbedingt mittels @functions gemacht werden? Du kannst das doch auch mit LS erledigen - oder spricht das was dagegen?

Bernhard

Offline klox

  • Frischling
  • *
  • Beiträge: 29
Warum muss das eigtentlich unbedingt mittels @functions gemacht werden? Du kannst das doch auch mit LS erledigen - oder spricht das was dagegen?

Bernhard

Leider ja.

Ich erklär vielleicht nocheinmal den Hintergrund:

Wir haben eine Anwendung in der verschiedene Dokumenttype gespeichert werden können. Diese Dokkumenttype können konfiguriert werden.

Man kann beliebig viele Konfigurationen anlegen. Eine Konfiguration erhält die Angabe der der Standardform (frmMain, frmResp, frmR2R), plus einen satz von bis zu 40 Subforms (sfrmKundenAddresse, sfrmNotiz,...) die feststehende Felder enthalten. Zusätzlich müssen natürlich einige Felder berechnet werden die in den Views angzeigt werden: ViewSymbol, ViewSubject, ViewCategory,...).

Das hat bislang auch gereicht. Alleringd wird diese Anwendung mittlerweile in ganz Europa genutzt. Jedes Land hat natürlich seine eigenen Ansprüche und Wünsche.  Wir haben einige Subforms in denen über DisplayFields Informationen angezeigt werden können. Was dort angzeigt wird kann mittels Formelsprache in der Konfiguration festgelegt werden. (z.B. @if( CreditExposure > 1000; "Blocked for Orders"; "Free to Order" )).

In manchen Fällen befindet sich diese Information aber nicht in dem Response Document sondern in dem Main Document. Ich möchte und kann das Design dieser frei einstellbaren Subforms natürlich nicht ändern.

Ich hoffe der Grund für meine Frage ist jetzt etwas klarere geworden. An der grundsätzlichen Technik, kann und darf ich nichts ändern.

mfg
klos

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Kannst Du das ResponseDoc wenigstens über LS anlegen? Denn dann könntest Du Dir auch Zugang zur ParentUNID verschaffen und diese wiederum Deinen Feldern, die @functions brauchen, zur Verfügung stellen.

Abgesehen davon funktioniert das natürlich auch mit Masken, die Werte aus dem gewählten Dokument übernehmen. Du müsstest nur diese Eigenschaft setzen und ein berechnetes Feld für die ParentUNID schaffen. Wenn das allerdings auch nicht möglich ist, dann sehe ich keinerlei Chance, wie Du ohne derartige Eingriffe überhaupt eine derartige Erweiterung Eurer Applikation hinbekommen könntest.

Bernhard

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Fangen wir doch einmal ganz einfach an: Watt iss enne Dampfmaschien ?
Nein: Wenn die Entwickler dieser Anwendung ein wenig Ahnung haben, dann haben sie ja bereits jetzt bei den Antwortdokumenten eingestellt, daß diese Masken die Werte übernehmen.

Die einfachste Möglichkeit, das zu erkunden, ist, in die @EVAL-Formel einmal einzusetzen

@InheritedDocumentUniqueID
Verwendung
Diese Funktion funktioniert in Dokumenten, die mit einer Maske erstellt werden, die Feldwerte vom ausgewählten Dokument übernimmt.
In Dokumenten, die keine Werte übernehmen, liefert @InheritedDocumentUniqueID denselben Wert wie @DocumentUniqueID.

Wenn das nicht funktioniert und du nix ändern darfst und kein Script verwenden darfst, dann geht es halt nicht. Aber das liegt weder an dir, noch an Notes. Es liegt dann an der Nichtbeachtung des ersten Hauptsatzes der praktischen Philosophie:

Wer den Zweck will, muß auch die Mittel wollen, die zur Erreichung des Zwecks notwendig sind.

Situs vilate in isse tabernit.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Uips - darauf hätte ich auch kommen müssen ... Auch sonst volle Zustimmung, LN4Ever!

Bernhard

Offline klox

  • Frischling
  • *
  • Beiträge: 29
@InheritedDocumentUniqueID
Verwendung
Diese Funktion funktioniert in Dokumenten, die mit einer Maske erstellt werden, die Feldwerte vom ausgewählten Dokument übernimmt.
In Dokumenten, die keine Werte übernehmen, liefert @InheritedDocumentUniqueID denselben Wert wie @DocumentUniqueID.

Pefekt. Genau das habe ich gesucht. Nun funktioniert es. Danke!

Zitat
Wer den Zweck will, muß auch die Mittel wollen, die zur Erreichung des Zwecks notwendig sind.

Wie wahr!

mfg
klox

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz