Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LDCOE am 31.01.05 - 14:21:33
-
Hallo,
ich erstelle grad mein erstes Projekt unter Notes, eine Urlaubsantragsdatenbank.
Klappt ganz gut habe aber zwei Probleme:
1. Ich habe zum errechnen der Urlaubstage in einem Feld die Business days Formel benutzt:
@BusinessDays( Anfangsdatum_1 ; Enddatum_1 ; 1:7; [01.03.2005] : [04.03.2005] : [07.03.2005])
denn das Dokument in Notes geöffnet wird, erscheint: SELECT @BusinessDays( Anfangsdatum_1 ; Enddatum_1 ; 1:7; [01.03.2005] : [04.03.2005] : [07.03.2005])
in diesem Feld. Wie bekomme ich das weg? Das Feld soll bis zur Berechnung für den Benutzer leer sein. Wenn die Datumsfelder ausgefüllt werden und dann aktualisiert wird, wird das Ergebnis auch richtig als Zahl angezeigt. Die Feldeigenschaft muss ja Formel sein und berechnet.
2. Ich möchte, dass jeder Benutzer in der Ansicht seine Anträge sehen, aber im nachhinein nicht editieren kann. Andere Dokumente sollen verborgen bleiben. Wie soll ich die Benutzer auf die DB berechtigen und brauch ich Autorenfelder?
Vielen vielen Dank schonmal, die Probs mögen manchem vielleicht als einfach erscheinen, als Anfänger probier ich daran aber schon den ganzen Tag herum...... :-[
Mit freundlichem Gruss Jens
-
Hallo Jens,
zu 1)
Hast Du die Formel für das Feld da in Anführungszeichen reingesetzt ? Und wo kommt das SELECT her ?
Ansonsten kannst Du die Formel so abändern, daß nur berechnet wird, wenn Anfangs- und Enddatum gesetzt sind.
Dafür mußt Du vorher per @If abfragen, ob die Felder leer sind.
@If(Anfangsdatum_1=""; Enddatum_1=""; 0; @BusinessDays(...))
zu 2)
Setz Autorenfelder, die z.B. eine Rolle für die Bearbeiter enthalten und gib den Usern Autorrechte.
-
Zu 2.)
Unbedingt die Autoren- und Leserfelder nutzen.
Diese vor dem Speichern befüllen (@Name([CANONICALIZE];...) )
In den Ansichten sind dann, wenn der User nur Autorenrechte auf die DB besitzt, nur die gesteuerten Dokumente sichtbar.
Kleine Anmerkung noch:
Ich habe auch mal eine solche DB erstellt - Am Anfang sah alles noch schön einfach aus, aber das wird dann schon interessanter, wenn ein bischen Workflow mit dazu kommt (Mehrstufige Genehmigung von Anträgen oder was wenn der Abteilungsleiter gerade nicht greifbar ist...).
Grüsse
Holger
-
Hallo,
danke für die schnelle Hilfe.
@Driri Nein, die Formel steht nicht in Anführungszeichen. Wo das select her kommt weiss ich nicht. Vielleicht kommt das von der Business Formel. Hab mal ein kleines Bild von dem Feld gemacht. Das Tage soll vor der späteren Zahl stehen. Vielleicht hilft das weiter.
2 klappt gut , vielen Dank!!
Gruss Jens
-
Aaah, das kommt davon, wenn man nicht richtig liest :
Die Feldeigenschaft muss ja Formel sein und berechnet.
Nein, das Feld muß vom Typ Zahl und berechnet sein. Daher kommt dann auch das SELECT.
-
Hey, Ingo, da bin ich jetzt aber auch grad drügergestolpert. Formel ist ein Spezialfall und für die Mail-Rules geschaffen worden ...... ::)
-
Jo, ich konnte mir halt nicht erklären, wo dieses SELECT herkommen soll. Und dann hab ich den Eingangsthread noch einmal aufmerksam gelesen und bin drüber gestolpert. Mußte aber ehrlich gesagt auch erstmal in der Designer-Hilfe nachsehen, was das für nen Feldtyp sein soll ;)
-
Jo, ist ein raffinierter Spezialtyp, den man eigentlich so gut wie nie wirklich braucht ..... und aus historischen Gründen heraus mit einem Namen versehen, der einen in die Irre führen kann. Thats life ....
-
Hi, danke schon mal bis hierhin,
wenn ich das Feld nicht auf Formel setze kommt eine Meldung. (siehe Bild)
Muss ich noch was mit @text unformatieren?
-
Ist "dauer_1" das Feld mit der Formel ?
Die Formel liefert einen Zahlenwert zurück. Also entweder das Feld auf Typ "Zahl" setzen oder den Wert mit @Text in Text umwandeln.
-
ja, dauer_1 ist das Feld mit der Formel.
-
Entweder das Feld Anfangsdatum_1 oder das Feld Enddatum_1 oder beide sind nicht Datumstyp (was zum Bleistift in jedem Fall der Fall ist, solange sie leer sind, das lässt sich mit @isavailable abfangen).
-
Besser noch mit @IsTime, dann werden auch gleich Fehleingaben gleich mit berücksichtigt.
Bernhard
-
Stimmt, ist der direktere Weg, bin mal davon ausgegangen, dass der Feldtyp stimmt, aber das ist tatsächlich nicht ganz wasserdicht.
-
Hallo,
doch doch diese Felder sind Datumsfelder. In denen geben die Benutzer Anfangs und Enddatum des Urlaubs ein.
Gruss Jens
-
Dann gilt das gesagt: @BusinessDays nur ausführen lassen, wenn @IsTime auf beide Datumsfelder wahr ergibt, sonst einen Leerstring als Rückgabe verwenden.
Bernhard
-
Cool, danke!!
War ja ein wenig umständlich, jetzt weiss ich was zu tun ist! ;D
-
Hast Du gute Einsteigerliteratur ?
Bernhard
-
Hallo, Bernhard
Ich hab ein Buch von Addison-Wesley "AWE unter Lotus Notes Domino 6.5"
und "Lotus Domino/Notes 6"von Markt und Technik. Diese sind mir ans Herz gelegt worden. Die Syntax suche ich in der Hilfe vom Designer.
Kennst du die Bücher?
Wenn man diese Bücher durcharbeitet ist das alles auch sehr plausibel, in der Praxis hackt es aber oft an den kleinen Kniffen. ;)
Gruss Jens