Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: LisaS am 23.04.03 - 09:39:35

Titel: Code falsch?
Beitrag von: LisaS am 23.04.03 - 09:39:35
Guten Morgen,

mit dem unten Stehenden Code prüfe ich verschiedene Felder auf deren Inhalt und gebe dann in einem Popup einen Status aus.
So lange ich Felder ausfülle wird mir der Richtige Status angezeigt, wenn ich aber ein kpl. ausgefülltes Dokument öffne und ein Feld leere wird mir, trotz speichern, 'Sie haben alle Pflichtfelder....' angezeigt.
Die Statusanzeige Funktioniert also nicht "rückwärts".
Weiß jemand warum?
Hier ist die Formel (Aktions-Hotspot):
lead1 := @If(aTitel=""|PrjSuchbezeichnung_1=""|AdrMandant=""|AdrAccountmanager=""|VPR_Wahrscheinlichkeit=""|VPR_Entscheidungsdatum=""|
        VPR_TThema="";"0";"1");
opp1:=@If(VPR_Beginn_1=""|VPR_Ende=""|Contact1="";"0";"2");
angebot1:=@If(Mitarbeiter=""|StdSatz=""|Aufwand=""|VPR_Bonus=""|BreakDatum="";"0";"3");
@Prompt([OK]; "Folgende Felder bitte ausfüllen";
@If(lead1="0"& opp1="0" & angebot1 ="0"  ;"Um den Typ Lead zu erreichen bitte folgende Felder ausfüllen: "+@If(aTitel="";"Thema V-Projekt, ";"") + @If(PrjSuchbezeichnung_1="";"Org/DV-Schwerpunkt, ";"")+ @If(AdrMandant="";"Mandant, ";"")+ @If(AdrAccountmanager="";"Accountmanager, ";"")+ @If(VPR_TThema="";"Top-Thema, ";"")+ @If(VPR_Entscheidungsdatum="";"Entscheidungsdatum, ";"")+ @If(VPR_Wahrscheinlichkeit="";"Erfolgswahrscheinlichkeit, ";"");
      lead1="1"& opp1="0"& angebot1="0"  ;"Um den Typ Opportunity zu erreichen bitte folgende Felder ausfüllen: "+ @If(Contact1="";"Ansprechpartner, ";"")+@If(VPR_Beginn_1="";"Projekt-Start, ";"") + @If(VPR_Ende="";"Projekt-Ende, ";"");
      lead1="1"& opp1="2"& angebot1="0";"Um den Typ Angebot zu erreichen bitte folgende Felder ausfüllen: "+ @If(BreakDatum="";"Angebotsdatum, ";"")+ @If(VPR_Bonus="";"Bonusgewährung, ";"")+ @If(Angebotstyp="";"Angebotstyp, ";"")+@If(Mitarbeiter="";"Prj.-Mitarbeiter, ";"") + @If(StdSatz="";"Std.-Satz, ";"")+ @If(Aufwand="";"Aufwand, ";"");
    "Alle Plichtfelder sind vollständig ausgefüllt"));

@Command([ViewRefreshFields])

Gruß
Hitcher
Titel: Re:Code falsch?
Beitrag von: Rob Green am 23.04.03 - 09:48:32
das ist echt ein Formelkauderwelsch...warum schreibste das Teil nicht übersichtlicher auf...da tun einem die Augen weh...autsch !

schaut komisch aus:
Code
@If(VPR_Ende="";"Projekt-Ende, ";"");

Und sonst? Test so ne Formel immer stückchenweise. 1-3 Felder rein Test, 1-3 neue Felder rein, Test...
Titel: Re:Code falsch?
Beitrag von: klaussal am 23.04.03 - 10:03:39
... ist in der maske ein haken bei: "felder autom. akzualisieren" ??
Titel: Re:Code falsch?
Beitrag von: LisaS am 23.04.03 - 10:13:54
@kausal
Die Maske in der ich die Teilmaske anzeige wird auch für eine ganze Reihe andere Dokumente benutzt.
Welche Auswirkungen hat die Funktion Felder autom. aktualisieren auf die anderen Dokumente?
Gruß
Ramon
Titel: Re:Code falsch?
Beitrag von: LisaS am 23.04.03 - 10:19:29
@kaussal
... Felder aktualisieren hat auch nicht geklappt.
ich vermute, daß die temporären Variablen lead1, opp1 und angebot1 nicht neu berechnet werden, aber warum nicht?

Gruß
Ramon
Titel: Re:Code falsch?
Beitrag von: klaussal am 23.04.03 - 10:23:55
... aus der designer -hilfe:

Feldwerte automatisch aktualisieren
Bisweilen müssen Benutzer die Ergebnisse aller Feldberechnungen sehen, während sie ein Dokument bearbeiten. Um fortlaufend aktuelle Informationen anzubieten, gestalten Sie eine Maske, die Felder automatisch neu berechnet, wenn ein Feldwert sich verändert. Beachten Sie, daß sich durch diese Einstellung die Anzeige und die Dateneingabe des Dokuments verlangsamt.
Sie können Feldwerte folgendermaßen aktualisieren:
Automatisch, durch Festlegen einer Maskeneigenschaft, die alle Schlüsselwortfelder aktualisiert, wenn der Benutzer ein Dokument bearbeitet.
Automatisch, durch Festlegen einzelner Feldeigenschaften, um anhand eines von Ihnen gewählten Ereignisses zu aktualisieren. Sie können beispielsweise ein Schlüsselwortfeld so einstellen, daß es automatisch aktualisiert wird, wenn sich ein Schlüsselwort ändert.
Manuell, wenn ein Benutzer ein Dokument manuell aktualisiert.
Aktivieren Sie für Auswahllistenfelder die Feldeigenschaft "Felder bei Schlüsselwortänderung aktualisieren" im Register "Steuerung"  der InfoBox "Eigenschaften: Feld", um die Leistung in großen Dokumenten mit vielen berechneten Feldern zu verbessern. Diese Feldeigenschaft aktualisiert erst dann alle Felder in der Maske, wenn ein Benutzer einen Wert für ein bestimmtes Auswahllistenfeld auswählt, bei dem die Eigenschaft aktiviert ist. Mit der Option "Auswahl bei Dokumentaktualisierung aktualisieren" wird die Auswahl in Auswahllisten aktualisiert, wenn ein Benutzer das Dokument über "Ansicht - Aktualisieren" aktualisiert. Sie können diesen Effekt umgehen, indem Sie statt der automatischen Aktualisierung ein LotusScript Feldereignis erstellen, mit dem das Dokument bzw. weitere Felder aktualisiert werden, sobald der Benutzer ein bestimmtes Feld verläßt.
So aktualisieren Sie Feldwerte automatisch
  1.   Öffnen Sie die Maske.
  2.   Wählen Sie "Gestaltung - Eigenschaften: Maske".
  3.   Wählen Sie im Register "Maske Info"  die Option "Felder automatisch aktualisieren".
  4.   Speichern Sie die Maske.