Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: blasko am 27.06.05 - 15:35:52
-
Hallo,
ich bin gerade dabei, mich in Notes mit dem Design neuer DBs zu beschäftigen und stehe vor folgendem Problem:
Ich habe ein Hauptdokument (Budget) mit einem Feld Planbetrag und einem berechnetem Feld Istbetrag. Dann habe ich "Antwortdokumente" (Rechnungen), dort kann ich einen Istbetrag eingeben. Nun möchte ich vorhande Istbeträge summieren und im Hauptdokument, sowohl Maske als auch in der Ansicht anzeigen lassen. Die Formel habe ich mir so vorgestellt,
-> @Sum(@DbLookup("":"NoCache";"":@DbName;"(DocId + Ist)";DocID;Ist))
DocId ist die vererbte ID (UniqueID) aus dem Hauptdokument.
Habe ich da einen Denkfehler? Geht das gar nicht?
Kann mir jemand helfen :-[?
Gruß
Andreas Otte
-
Ich weiß nicht, was dein Problem ist, bitte schreibe, was funktioniert und was nicht.
Grundsätzlicher Tipp1 : versuche mal, in einzelnen Schritten zum Ergebnis zu kommen. Also pro Schritt eine Zeile Formel.
z.B.
_server := @DbName(...);
...
_allePreise := @DbColumn(...):
_summe := @Sum(_allePreise);
So entwirrst du die Formeln und machst es lesbarer und einfacher, Fehler aufzufinden.
Grundsätzlicher Tipp2 : DbLookups + DbColumns kannst du nicht in Ansichten verwenden. Du kannst in einer Ansicht nur Werte verwenden, die im angezeigten Dokument gespeichert sind oder aus solchen berechnet sind.
-
Dein Lookup funktioniert von vorne herein nicht.
@DbLookup("":"NoCache";"":@DbName;"(DocId + Ist)";DocID;Ist) denn "Ist" ist weder eine Spalte noch ein Feldname sondern ein Feld- Schreib das in Anführungszeichen und es sollte funktionieren.
Ansonsten hilft gerade bei der Formelsprache das Auseinandernehmen einer Formel eigentlich immer weiter.
-
Ach ja und was Thomas noch geschrieben hat kann ich nur unterstützen. In einer Ansicht, s wie du es zu planen scheinst kann und wird das nicht funktionieren.
-
Im Script geht das mit einer Schleife und "Responses" in der NotesDocument-Klasse
-
Im Script geht das mit einer Schleife und "Responses" in der NotesDocument-Klasse
Richtig aber das ist wieder einer der Fälle wo ich mit drei Zeilen Formelsprache x Zeilen Script ersetzen kann und außerdem noch schneller bin.
-
Das stimmt, aber ich empfinde es teilweise transparenter.
-
Das stimmt, aber ich empfinde es teilweise transparenter.
;D Ohh kommt da vielleicht jemand aus der "wir schreiben mit einer echten Sprache" Ecke. ;D
Transparenter trifft es vielleicht nicht unbedingt. Eher strukturierter. Aber Formelsprachen sind halt nun mal so. Schau dir die Dinger an die du in Excel mit Formeln machen kannst. Und die haben das direkt von ....Lotus 123 ... geklaut.
-
Es ist eher so, dass ich zunächst Jahrelang mit VisualBasic rumgekaspert habe und nun mit Lotus Notes arbeite - ohne Schulung versteht sich :-\ .
Da liegt es schliesslich nahe, mit Script zu abreiten, da hier noch etwas mehr verständnis für die Syntax vorhanden ist.
-
Danke für die Antworten.
Also der Fehler lautet: Eintrag im Index nicht gefunden ...
Ich werde mal dem Vorschlag von Thomas V. folgen, wenn ihr der Meinung seid, daß dies ein lösbares Problem sei.
Schematisch sieht es so aus (Auszug):
Budget 1 €7,50 (Summe 1.1-1.3)
Rechnung 1.1 €5,00
Rechnung 1.2 €2,00
Rechnung 1.3 €1,50
Budget 2 €7,00 (Summe 2.1-2.2)
Rechnung 2.1 €5,00
Rechnung 2.2 €2,00
Danke und Gruß
Andreas
-
Na da würde ich doch glatt sagen da fehlt deinem DBLookup der richtige Schlüssel. D.h. entweder ist deine DocID mit der du suchst nicht die richtige oder deine Ansicht "(DocId + Ist)" ist falsch sortiert oder du hast vergessen den Haken bei Antwortdokumente hierarchisch anzeigen in der Ansicht rauszumachen. Irgendwas in der Richtung wird es dann schon sein.
Die Flinte bloß wegen einer lumpigen Fehlermeldung ins Korn zu werfen giltet nicht. noch dazu nicht wenn die möglichen Fehlerursachen für so was im Forum schon X-mal besprochen worden sind.