Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: theBastian am 23.03.04 - 11:25:34
-
Hallo,
habe da ein kleines Problem mit der Erstellung einer Ansicht:
Habe 9 Bestandteile, die in einer Spalte dargestellt werden sollen. Für jeden Bestandteil gibt es ein Feld. Das Darstellen in einer Spalte ist kein Problem.
ABER, wie kann ich es anstellen, das jeder Bestandteil in einer neuen Zeile steht?
cu
Sebastian
-
Auf dem Sortiertab der Kolonne
"Show multiple values as separate entries"
anklicken
-
... und in der Spaltenformel dann die einzelnen Feldinhalte zu einer Liste zusammenbasteln:
Feld1 : Feld2 : Feld3 ...
-
Das habe ich schon probiert.
Leider wird dann nur noch der 1. Bestandteil angezeigt. Es wird keine neue Zeile mit den anderen Bestandteilen erstellt.
-
Na, dann schau Dir nochmal ganz genau die Eigenschaften Deiner Ansicht an, insbesondere den dritten Tab ;)
-
Hi, Hi, Hilfe,
ich bin blind. ;)
Der dritte Tab mit Einstellungen für Gitter usw.? Hilft mir leider nicht weiter.
Bitte noch ein Hinweis. Bitte bitte bitte.
-
Nein, Textzeilen pro Zeile und Zeilenhöhe anpassen.
-
Ah ja, in R6 heisst es "Höhe ... Zeilen" und "Zeilenhöhe an Inhalt anpassen".
HTH,
Bernhard
-
Heißt bei mir "Shrink to content", ist aber nicht auswählbar.
-
Gleich darüber gibt es das Feld "Height", das muss mehr als 1 drin haben, damit man überhaupt "shrink to content" machen kann - logisch, oder?
-
Dann steht die Höhe noch auf 1.
-
Stimmt, das war es aber nicht.
Noch immer nur der 1. Bestandteil.
-
Stimmt, das war es aber nicht.
Noch immer nur der 1. Bestandteil zu sehen.
-
Habe jetzt noch etwas rumprobiert.
Die genannte Funktion scheint nur zu funktionieren, wenn man mehrere Werte in einem Feld hat.
Anzeigen mehrerer Felder ist so nicht möglich.
Hat ev. noch jemand eine Idee?
cu
Sebastian
-
Was ? Natürlich ist das möglich und täglich geübte Praxis.
Schreib' mal Deine Spaltenformel - da muss der Fehler stecken.
Schau Dir in Deiner Names.NSF in der Kontakte-Ansicht zum Beispiel mal die Telefonnummern-Spalte an. Vielleichst kannste da was lernen.
-
Wollte Deine Praxis nicht in Frage stellen. Bei MIR funktioniert das Ganze nicht.
So sieht meine Formel aus:
Bestandteil1:Bestandteil2:Bestandteil3:Bestandteil4:Bestandteil5
-
Danke für die Info mit dem names.nsf.
Ich habe gelernt. ;)
-
Ergebnis des Lernprozesses?
-
Genau.
Habe jetzt den Zusammenhang zwischen Auswahl "New Line" als Trennung und Schreibweise im ScriptWindow kapiert.
Nur geht mein Problem weiter:
in der nächsten Spalte stehen die Beträge für die Bestandteile.
Diese sollen nur angezeigt werden, wenn nicht Null. Leider klappt das mit einer IF-Formel nur halb.
@IF (Betrag!=0;Betrag;0) Das geht, aber der Eintrag soll dann nicht angezeigt werden.
???
-
Was soll denn stattdessen angezeigt werden? Wenn gar nix, dann musst Du eben einen Leerstring "" angeben statt Deiner Null
-
Dann soll die Zeile (der Betrag) garnicht angezeigt werden.
Habe leider ein paar Details vergessen:
Spalte ist Currency (wg. Formatierung und Euro-Symbol) und damit geht "" nicht. Es kommt nur eine Zahl in Frage oder ich müsste alles auf Text umändern. Und das wollte ich vermeiden.
-
Huh? Verstehe ich jetzt nicht wirklich.
Wenn die ganze View-Zeile nicht angezeigt werden, gehört das in die View-Selection Formel.
Wenn das dann synchron zur vorherigen Kolonne angezeigt werden soll, dann gibts wohl schon dort Probleme, weil ja dann wohl der Text auch nicht angezeigt werden sollte.
Eine Möglichkeit wäre, den Wert schrittweise aufzubauen, etwa so:
_value:=@if(Betrag1<>0;Betrag2;_value);
_value:=@if(Betrag2<>0;_value:Betrag2;_value);
_value
... und jetzt sind wir ND6 spezifisch, bei R5 müsste man da dann jedesmal eine neue Variable verwenden
-
Fehler von mir.
Es soll nicht die gesamte Zeile ausgeblendet werden sondern nur der Betrag:
Betrag1
Betrag2
Betrag3
Wenn Betrag 2 =0 dann nicht 0 anzeigen sondern ausblenden.
Habe mir auch schon überlegt Bestandteil und Betrag in einer Spalte zu vereinen aber Text und Zahl (mit 2 Dezimalstellen) zu vereinen erscheint mir auch schwierig.
-
a) schau Dir mal die Funktion @text an
b) genau das leistet das Code-Schnippet von mir, müsstest das vielleicht mal einen Moment lang studieren.
-
Angeschaut habe ich mir das auch. Leider muss ich zugeben, das ich es nicht so richtig verstehe.
Meine Bezeichnung ist nicht umsonst Newbie. :(
Könntest Du das vielleicht kurz erklären? Danke im voraus.
-
Eben, allmählich aufbauen, der Wert wird in der Variablen _value Stück für Stück zusammengesetzt.
Mit Hilfe der @if Formel werden nur Werte zu _value hinzugefügt, wenn diese <> 0 sind. Nimm Dir etwas Zeit und Kaffee, um dieses If zu studieren, erklären ist "ausschweifend". Vielleicht musst Du halt "mechanischer Computer" spielen (auf Papier nachvollziehen).
Am Schluss wird die Variable _value ausgegeben.
Ist umgekehrt als beim Frühstück:
Beim Frühstück schneidest Du eine Scheibe Brot nach der anderen ab, bis nix mehr da ist.
Hier machst Du es umgekehrt: fügst zum Brot eine Scheibe hinzu (oder auch nicht, wenn sie "wertlos" ist) und am Schluss gibst Du das zusammengesetzte Brot aus.
-
Danke Dir. Die Erklärung hilft mir weiter.
Versuche jetzt mal den Vorschlag mit dem Kaffee. ;)
-
Oder soll das ganze Dokument dann nicht angezeigt werden, wenn der Betrag 0 ist ? Dann müsste das in die view selection formula ...
Beschreib' Dein Problem hier immer so genau wie möglich, poste Code, sag' an, was Du sonst noch / schon eingestellt hast etc., dann geht das noch schneller mit Antworten (Du bist ja hier bei AtNotes und nicht sonst irgendwo ;) )
Bernhard
-
Die Frage hab ich auch schon gestellt und hat er verneint. Es sollen tatsächlich einfach die Nullen unterdrückt werden (wenn wir das doch bei den Personen auch so einfach machen könnten ........ ;) )
-
Sorry - da habe ich den ganzen restlichen Thread übersehen (der dann auf page 2 weiter ging), als ich das per Link aus dem Mail geöffnet habe. Ihr wart ja schon sooo viel weiter. Und an Deinem Vorschlag ist nix zu rütteln - genau das ist der Weg. Über die Formatierung (damit der Text-Wert wieder wie Currency aussieht) müsste man noch was tun, da ja bestimmt nicht sowas dastehen soll:
Feld1 150,00 EUR
Feld2 225,00 EUR
Feld3
Merke: Betrag2 hat einen Wert = 0 und wird dadurch 'rausgeknallt. Das kann nur unterdrückt werden, wenn die Struktur der Liste erhalten bleibt.
Bernhard
PS: Die menschlichen Nullen sollte man gar nicht unterdrücken, sonst würde man die Nicht-Nullen ja gar nicht mehr erkennen ;-)
-
Das mit der Erkennbarkeit, das hat was :)
Auf das Erhalten der Struktur hab ich auch schon sanft hingewiesen, das dürfte dann der nächste Challenge von SKL74 sein, das ist glaub ich noch nicht erkannt worden.
-
Hallo allerseits,
danke für Eure Tipps, bin auch schon etwas weiter gekommen. Nach Semeaphoros Code sieht jetzt meine Spaltenformel so aus:
_value:=@If (@Text (Be1WgKosten)!="" ; Be1WgKosten ; _value);
_value:=@If (@Text (Be2WgKosten)!="" ; _value : Be2WgKosten ; _value);
_value:=@If (@Text (Be3WgKosten)!="" ; _value : Be3WgKosten ; _value);
_value:=@If (@Text (Be4WgKosten)!="" ; _value : Be4WgKosten ; _value);
_value:=@If (@Text (Be5WgKosten)!="" ; _value : Be5WgKosten ; _value);
_value:=@If (@Text (Be6WgKosten)!="" ; _value : Be6WgKosten ; _value);
_value:=@If (@Text (Be7WgKosten)!="" ; _value : Be7WgKosten ; _value);
_value:=@If (@Text (Be8WgKosten)!="" ; _value : Be8WgKosten ; _value);
_value:=@If (@Text (Be9WgKosten)!="" ; _value : Be9WgKosten ; _value);
_value
Leider werden aber noch immer Werte, die 0 sind angezeigt. Habe auch schon ohne @Text versucht, bringt aber nichts.
In der Ansichtenauswahl steht schon:
SELECT Form="Projekt" & BeWgKostenGesamt!=0
(Gesamtsumme wird in der Maske errechnet) Damit sollten alle Docs, die keine BeWgKosten haben schon rausfallen.
Sebastian
-
... aktueller Stand:
meine Formel sieht jetzt so aus:
_value:=@If (Be1WgKosten!=0 ; @Text (Be1WgKosten;"C,2") ; _value);
_value:=@If (Be2WgKosten!=0 ; _value : @Text (Be2WgKosten;"C,2") ; _value);
_value:=@If (Be3WgKosten!=0 ; _value : @Text (Be3WgKosten;"C,2") ; _value);
_value:=@If (Be4WgKosten!=0 ; _value : @Text (Be4WgKosten;"C,2") ; _value);
_value:=@If (Be5WgKosten!=0 ; _value : @Text (Be5WgKosten;"C,2") ; _value);
_value:=@If (Be6WgKosten!=0 ; _value : @Text (Be6WgKosten;"C,2") ; _value);
_value:=@If (Be7WgKosten!=0 ; _value : @Text (Be7WgKosten;"C,2") ; _value);
_value:=@If (Be8WgKosten!=0 ; _value : @Text (Be8WgKosten;"C,2") ; _value);
_value:=@If (Be9WgKosten!=0 ; _value : @Text (Be9WgKosten;"C,2") ; _value);
_value
Das funktioniert auch schon. Ist es sehr vermessen, wenn ich die einzelnen Werte jetzt noch summieren möchte?
-
Problem Summierung auch gelöst. Noch eine Spalte erstellt, Felder rein und Spalte summiert.
Nächstes Problem:
@Text;"C,2" zeigt in der Schablone völlig korrekt zB. 2.400,00 €. Wenn ich jedoch DesignReplace an meiner DB mache, steht in der Spalte 2.400,00 DM.
Woher nimmt @Text diese Währung. Das BS steht auf €, die Spalte auch, in der Schablone geht es ...???
Ratlos ... :o