Autor Thema: Mit Backendfunktionen Frontendwerte auslesen  (Gelesen 1880 mal)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Mit Backendfunktionen Frontendwerte auslesen
« am: 27.05.03 - 15:18:50 »
Hi,

ich will auch mal wieder ein Problem haben.  :-\

Ich habe in einer Maske verschiedene Felder mit Aliaswerten. Bei einer Designanpassung wurden jetzt korrespondierende Felder eingefügt, d.h. in diesen Feldern sollen die Werte stehen, welche der User im Frontend sieht. Bei neuen Dokumenten ist das alles kein Problem Aber ich muß alle bestehenden Dokumente anpassen.

Gibt es eine Möglichkeit mit Backend-Funktionen an die Werte heranzukommen, die der User im Frontend sieht.

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

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #1 am: 28.05.03 - 09:01:44 »
Hi Axel
geht das nicht ganz einfach mit einerm Agenten der in die neuen Felder die Werte aus den alten reinschreibt ?
Das was der user im frontend sieht liegt doch im ermessen des Designers oder ? *grummel ... *denk verstehe die Frage nicht so 100%
- vielleicht hilft es wenn du ein Beispiel gibst.


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #2 am: 28.05.03 - 09:29:22 »
Ich denke mal Axel meint sowas
Anzeige1 | 1
Anzeige2 | 2

Das ist jetzt eine gute Frage. Wenn du die Schlüsselwerte in externe Dokumente (Konfigurationsdokumente) ausgelagert hast, dann sollte das kein großes Problem darstellen. Einfach im Konfigurationsdokument das/die entsprechende(n) Feld(er) auslesen und parsen. Hast du das aber direkt in der Maske definiert, dann kannst du meiner Meinung nach nur noch über die Design Klassen da ran kommen. Die findest du ja in der Sandbox.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

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:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #3 am: 28.05.03 - 09:55:32 »
Hi,

in der Datenbank gibt es eine Maske mit mehreren Schlüsselwortfeldern. Dort sind werte mit Aliasen hinterlegt.

z.B.  Vorplanung | 2

Bei der Überarbeitung wurden jetzt Felder hinzugefügt, in denen der Text eingefügt werden soll, den der User in diesen Schlüsselwortfeldern im Frontend sieht, also hier im Beispiel Vorplanung.

Bei neuen Dokumenten ist das kein Problem. Es gibt im QuerySave-Event die entsprechenden Anweisungen:

doc.TextFeld = uidoc.FieldGetText("Schlüsselwortfeld")

In der DB sind aber bereits fast 2000 Doks enthalten. Die müssen angepasst werden. Manuell aufrufen und speichern ist bei der Menge indiskutabel. Per Agent stürtzt mir der Client nach ca. 5 Dokumenten mit einer Redbox ab.

Deshalb war meine Frage ob es möglich ist mit Backend-Funktionen an den Text "Vorplanung" ranzukommen.


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

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #4 am: 28.05.03 - 10:03:34 »
Wenn du den Agent mit der Design Klasse aufbaust, das Design der DB holst und anschliesend die Form ausliest und dann das entsprechende Item des dadurch zur Verfügung gestellten Notes Dokumentes ausliest, hast du zumindest schon mal die potentiellen Werte.
Anschließend der Reihe nach deine Dokumente in Backend auslesen, Feld hinzufügen und abspeichern, dürfte eigentlich da alles im Backend läuft ohne Probleme vonstatten gehen.
Noch einfacher ist es natürlich (warum bin ich nicht gleich drauf gekommen), wenn du einfach mit Case abfragst und entsprechend direkt zuordnest. Du weist ja schließlich, welche Werte in den Schlüsselwörtern vorkommen können.

Warum stürzt dein Agent ab? Was hast du da versucht zu machen?

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #5 am: 28.05.03 - 10:05:28 »
also wenn das nicht schon Änderungen gemacht worden sind müsste es gehen weil du kennst den Wert und den Alias.

im Querysave ... wenn Feld1 = 2 dann setze den Feld1 = "Vorplanung"

- schwierig wird es wenn verschiedene Werte im Design drinstanden mit dem gleichen Alias(verschiedene Designänderungen), weil nur der Alias gespeichert wurde
Vorplanung | 2
Vorplanung Werk1 | 2


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #6 am: 28.05.03 - 10:17:58 »
Das mit den verschiedenen Werten ist nicht schwierig, das ist unmöglich, es sei denn du kannst das noch von anderen Faktoren in der Form abhängig machen.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

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:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #7 am: 28.05.03 - 11:53:08 »
Hi,

die Werte liegen in externen Konfig-Dokumenten und haben sich nicht geändert.

Mir wird nichts anderes übrig bleiben, als die Dokumente per Agent anzupassen. Ich hab' gedacht es geht einfacher.

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

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:Mit Backendfunktionen Frontendwerte auslesen
« Antwort #8 am: 28.05.03 - 15:13:29 »
Hi,

sodale, die Tat ist vollbracht.

Ich habe, Gott sei dank alle Werte in Konfigurationsdokumenten stehen.

Ich hab mir eine Ansicht bebastelt in der in der ersten Spalte die entsprechenden Feldnamen stehen. Damit kann ich per GetDocumentByKey  daraufzugreifen.  Dann fülle ich damit eine Liste und anhand der Aliase aus dem Feld ermittle ich die entsprechenden Werte und schreibe sie in ein Array. Diese Array weise ich dann dem zweiten Feld zu. Fertig.

Ich weiß, klingt kompliziert, aber hier ist der entsprechende Code:

Zitat
...
Set keydoc = view.GetDocumentByKey("HOAI_II", True )   
For idx = 0 To Ubound(keydoc.Values)
  HOAI_II_List(RightBack(keydoc.Values(idx), "| ")) = LeftBack(keydoc.Values(idx), " |")
Next  'For idx = 0 To Ubound(keydoc.Values)
...

...
Redim tmpArray(0)
If doc.HOAI_II(0) <> "" Then
  For idx = 0 To Ubound(doc.HOAI_II)
    If Iselement(HOAI_II_List(doc.HOAI_II(idx))) Then
      Redim Preserve tmpArray(idx)
      tmpArray(idx) = HOAI_II_List(doc.HOAI_II(idx))
    End If
  Next  'For idx = 0 To Ubound(doc.HOAI_II)
  doc.HOAI_II_Text = tmparray
End If  'If doc.HOAI_II(0) <> "" Then
...


Ist vielleicht nicht unbedingt der beste Programmierstil, aber was soll's. Es musste, wie so oft, schnell gehen und es funktioniert.

Danke nochmals allen, die sich gedanken gemacht haben.

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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz