Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: werfi am 02.01.08 - 15:12:38

Titel: LS "ComposeDocument" findet Maske nicht
Beitrag von: werfi am 02.01.08 - 15:12:38
Hallo,

ich habe zwei Masken, M01 und M02. In M01 stehen die Daten drin und in der Maske gibt es eine Aktion mit folgendem LS, welches ein neues Dokument mit Maske M02 erzeugen und ein paar Werte übernehmen soll:


Dim ThisDoc As NotesUIDocument
Dim PrintDoc As NotesUIDocument
Dim ws As New NotesUIWorkspace
Set ThisDoc = ws.CurrentDocument
ws.SetTargetFrame("")
ToPHVTName = ThisDoc.FieldGetText("vbmh_vorname")  & " " & ThisDoc.FieldGetText("MF_Besitzer") & " / " & ThisDoc.FieldGetText("vbmh_funktion")
Set PrintDoc =  ws.ComposeDocument ( "", "" , "M02" )
Call PrintDoc.FieldSetText("PHVTName", ToPHVTName )
Call PrintDoc.FieldSetText("PHVTHersteller", ThisDoc.FieldGetText("MF_Handy") )
....

Mein Problem ist nun folgendes:
Die Maske M02 wird nicht zum Erstellen des neuen Dokumentes genommen, sondern die Maske M01 (welche natürlich die Felder zum füllen nicht hat-> Meldung "Notes Fehler: Feld nicht gefunden").

Ich hab schon aus der Eigenschaftsbox den Maskennamen herauskopiert um einen Schreibfehler auszuschließen, der Maske einen kurzen Alias "M02" verpasst, alles ohne Erfolg  :(

Das kuriose daran ist, dass exakt diese Aktion schon funktioniert hat!
Die einzige Änderung ist ein Update am Server von R7.02 auf R7.03.

Ich weiß nicht mehr weiter...
Hat jemand eine Idee, woher dieses Problem kommen könnte?

Gruß
Markus

Server: 7.03 en
Client 7.02 dt
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: koehlerbv am 02.01.08 - 15:25:03
Vorab: Mit der Server-Version hat dies nichts zu tun, da die Aktion komplett im Client stattfindet.
Aussehen tut das eigentlich exakt so, als wenn es doppelte Aliase geben würdest. Du erwähnst aber, dass Du da schon Änderungen durchgeführt hast ... Somit bleibt dieses mystisch. Ich tippe dennoch auf einen simplen Denkfehler.

Bernhard
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: it898ur am 02.01.08 - 15:25:45
Hallo,

besitzt die Ansicht aus der das erste Dokument aufgerufen wurde eine Maskenformel, die das Formfeld des neuen Dokumentes überschreiben könnte ?

Gruß

André
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: diali am 02.01.08 - 15:39:40
ansonsten kannst Du auch das Dokument im Backend erstellen (New NotesDocument(NotesDatabase)), das Feld Form mit dem Maskennamen belegen und dann das Dokument im Frontend NotesUIWorkSpace.EditDocument(...) öffnen.
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: koehlerbv am 02.01.08 - 15:43:48
Da es sich hierbei laut Benamsung des Objekts offensichtlich um eine "Druckmaske" handelt, wäre Dirks Vorschlag sowieso erste Wahl und das übliche Vorgehen. Und die Feldnamen sollte man sowieso zwischen "ThisDoc" und "PrintDoc" (sehr ungeschickte Objekt-Bezeichnungen!) identisch halten, wenn es sich letztlich um die gleichen Inhalte handelt.

Bernhard
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: werfi am 02.01.08 - 15:48:55
Folgende Ansichtselektion ist hinterlegt:

SELECT Form = "Mobilfunkvertrag"  & $DeletedDoc = "" & status != "Gekündigt" | "gekündigt"

Also nichts, was irgendwelche Werte überschreibt...

Ich werde dann mal die Backend-Variante ausprobieren.
Nur seltsam, das es mal funktioniert hat...

Markus
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: diali am 02.01.08 - 15:50:58
es ging nicht um die Ansichtsauswahl sondern um die Maskenformel. Diese findest Du direkt unter der Ansichtsauswahl.
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: werfi am 02.01.08 - 16:01:47
ups...

Ja da stand was... der Maskenname der ersten Maske.
Habs ganz schnell entfernt und schon klappt es wieder...

Vielen Dank für den Hinweis!!

Gruß
Markus

PS: das hat dann aber erst mit dem Serverupdate von 7.02 auf 7.03 gegriffen, denn vorher hat es definitiv funktioniert.
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: koehlerbv am 02.01.08 - 16:04:36
... das hat dann aber erst mit dem Serverupdate von 7.02 auf 7.03 gegriffen, denn vorher hat es definitiv funktioniert.

Definitiv nicht. Das ist eine reine Client-Geschichte. Die Maskenformel interessiert den Server (in diesem Fall reiner Datenlieferant) nicht die Bohne. Geh' da nochmal in Dich  ;)

Bernhard
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: ata am 04.01.08 - 10:23:46
Zitat
status != "Gekündigt" | "gekündigt"

... das tut so nicht - die Formel muß richtig gestellt werden...

Toni
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: DerAndre am 04.01.08 - 10:35:57
Aus sowas mache ich immer ein Uppercase

Uppercase(status) != "GEKÜNDIGT"
Titel: Re: LS "ComposeDocument" findet Maske nicht
Beitrag von: ata am 04.01.08 - 20:57:25
@Uppercase - oder?

Toni