Autor Thema: Felder in Teilmaske werden nicht angelegt  (Gelesen 2509 mal)

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Felder in Teilmaske werden nicht angelegt
« am: 13.02.15 - 08:56:45 »
Guten Morgen!

Ich habe folgendes Problem: Maske mit berechneter Teilmaske, in der neu hinzugefügte Felder beim Erstellen eines neuen Dokumentes (im Backend) nicht angelegt werden.

Bei der Fehlersuche verwende ich folgendes Skript:

   Dim ses As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   
   Set db = ses.CurrentDatabase
   Set doc = New NotesDocument(db)
   
   doc.form = "TEST1"
   doc.name = "Hugo"
   Call doc.ComputeWithForm(False,False)
   
   Call doc.Save(True,True)

In der Maske "TEST1" ist eine berechnete Teilmaske eingebunden, in der ein neues Feld "Vorname" (berechnet beim Anlegen) hinzugefügt wurde.
Das Feld "Vorname" wird im Dokument aber nicht angelegt, die anderen "alten" Felder (z.B. "name" mit Wert Hugo) aber schon...

Erster Gedanke, "ComputeWithForm" läuft auf einen Fehler, bestätigte sich nicht (Auswertung des Rückgabewertes).

ABER:

Wenn ich die Maske "TEST1" 1:1  kopiere, (auf "TEST2"), den Code auf diese Maske ändere und dann ein neues Dokument anlege, wird das neue Feld angelegt.
Lösche ich dann die Originale Maske "TEST1" und benenne die "TEST2" auf "TEST1" und erstelle ein neues Dokument wird das neue Feld wieder nicht angelegt.

Komplette Code wurde bereits mehrfach neu kompiliert - ohne Erfolg.

Jemand eine Idee an was das liegen könnte?



Danke & Gruss Udo

Offline ghostmw

  • Aktives Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • BELOS - Raum+Ressourcenmanagement unter Lotus Notes
Re: Felder in Teilmaske werden nicht angelegt
« Antwort #1 am: 13.02.15 - 10:42:32 »
Hi Udo,

wie sieht denn die Formel für die berechnete Teilmaske aus, vielleicht liegt da der Hund begraben?

Gruß
Marco
Grüße
Marco Weller
Lotus Domino / Lotus Notes seit 1996 (ab 4.5x)

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Re: Felder in Teilmaske werden nicht angelegt
« Antwort #2 am: 13.02.15 - 10:47:25 »
Hallo Marco,
danke für den Hinweis.
Ich habe die berechnete Teilmaske auch schon fix hinterlegt mit dem gleichen Ergebnis.
Und wenn die Formel falsch wäre würde das neue Feld in der neuen Testmaske ja auch nicht angelegt werden.

Udo

Offline ghostmw

  • Aktives Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • BELOS - Raum+Ressourcenmanagement unter Lotus Notes
Re: Felder in Teilmaske werden nicht angelegt
« Antwort #3 am: 13.02.15 - 11:59:22 »
Hi,

je nachdem, wie die Formel aussieht, kann das schon was ausmachen so ala
Code
@If ( Form = "Test1" ; "" ; "Teilmaske" )

Gruß
Marco
Grüße
Marco Weller
Lotus Domino / Lotus Notes seit 1996 (ab 4.5x)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder in Teilmaske werden nicht angelegt
« Antwort #4 am: 13.02.15 - 12:15:21 »
Habe eben getestet:

Sowohl bei fest als auch bei berechnet eingefügten Teilmasken werden die Felder der Teilmaske durch ein ComputeWithForm als Items im Dokument angelegt. Getestet unter 8.5.3 FP6, irgendwie ist mir aber, dass das früher nicht funktioniert hätte, mag mich aber irren.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline udo187

  • Junior Mitglied
  • **
  • Beiträge: 98
Re: Felder in Teilmaske werden nicht angelegt
« Antwort #6 am: 13.02.15 - 13:37:36 »
So, danke an alle für die Antworten!

Habe das ganze an einer Datenbankkopie durchgestestet, die Maske und die Teilmaske Schritt für Schritt neu aufgebaut, immer wieder mit neuen Feldern getestet. Alles hat erwartungsgemäß funktioniert.
Zurück in die Originaldatenbank - dabei ist mir aufgefallen, dass ich eigentlich keine Aktionen in der (neuen) Hauptmaske mehr drin habe (vergessen zu übernehmen...), beim Öffnen eines Dokumentes Notes aber trotzdem die Aktionen anzeigt.
Ich erkläre mir das so: Irgendwie muss die Maske einen Fehler gehabt haben - Notes griff auf den kompilierten alten Code der Maske zu, der von den neuen Feldern natürlich nichts wusste. Bei einem neuen Maskennamen funktionierte es in Tests ja, nur beim Originalnamen nicht (keine Alias Namen werden verwendet).

Maske nochmals neu aufgebaut, funktioniert jetzt wie erwartet.

Fehler trat auch Client-unabhängig auf (anderer PC und virtuelle Maschine mit Notes 9).

Ich habe gedacht, dass Notes beim kompilieren "meckert" wenn in der Maske ein Fehler vorhanden ist.

Problem ist gelöst, danke für die Hilfe & ein schönes Wochenende!

Gruss
Udo



 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz