Autor Thema: Ansichtssache!  (Gelesen 5184 mal)

Puolisuomalainen

  • Gast
Ansichtssache!
« am: 24.09.02 - 13:04:11 »
Hallo Leute!


Folgendes Problem:

Ich habe eine Datenbank in der ich Buchungen durchführen will.
Also gibt´s da eine Maske für einmalige Buchungen und eine Maske für wiederholende Buchungen.
Diese Buchungen haben ein Buchungsdatum.
Nun will ich Zeiträume erstellen. (in einer eigenen Maske) (zB von 08/02 bis 03/03)

Und in einer Ansicht will ich dann nur die Buchungen sehen, die auch in dem Zeitraum liegen.
Idealerweise wäre wenn man die Ansicht nach einer Spalte "Zeiträume" sortieren kann und somit dann Einsicht hat auf die vorher definierten Zeitspannen.

Ich hoffe man kann sich so was drunter vorstellen...

Leider habe ich da Probleme diese Ansicht zu generieren. Wie sage ich ihr dass sie auf 3 Masken zugreifen muss? Wie sag ich ihr dass sie nur die Dokumente auswählt die in einem Zeitraum aktiviert wurden?


Freue mich über alle Versuche mir zu helfen,

Grüße,


puolisuomalainen


« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Ansichtssache!
« Antwort #1 am: 24.09.02 - 13:13:18 »
Also, wenn du eine Ansicht erstellst, werden dort grundsätzlich ALLE Masken dargestellt.

Hier musst du dann über die Ansichten auswahl die Anzahl der Masken einschränken.

Form ="deineMaske1" : Form="DeineMaske2"

Das kannst du auch über  die "einfachen Aktionen" machen.

Bei den Spalten hast du natürlich mehr Arbeit, wenn deine Masken unterschiedliche Felder für den gleichen Inhalt haben.
Also in Maske 1 heisst das Feld Datum in Maske 2 Datum_2. Inhalt ist aber immer z.B. das Buchungsdatum.

Hier solltest du die Masken anpassen.

Oder die machst die die Arbeit, eine Spaltenformel zu erstellen

@if(Form="Maske1";Datum;Form="Maske2";Datum_2;"")

Yoo und den zeitraum kannst du dann über diese Datumsfelder ebenfalls in der Ansichtenauswahlformel steuern.

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Puolisuomalainen

  • Gast
Re: Ansichtssache!
« Antwort #2 am: 24.09.02 - 13:37:05 »
Danke für Deine Antwort.


Aber das hätte ich ja auch schon so einigermaßen hingekriegt.

Ich hab noch Probleme damit, daß ich nur die Dokumente anzeige die in den generierten Zeiträumen liegen.

Ich habe einen Zeitraum zB 01/02 bis  06/02 - und nun möchte ich alle Dokumente die unter diese Auswahl fallen in einer Ansicht darstellen.
Mit so einer Formel/so einem Script habe ich Probleme.

Ich weiss schon, ist viell. blöd formuliert, aber....


Danke nochmals im voraus,


puolisuomalainen

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Ansichtssache!
« Antwort #3 am: 24.09.02 - 14:52:01 »
Ahh, OK

also dann hier mal eine Formel

SELECT (@Contains(FORM; "DeineMaske")) & ((@Created >= [01.02.2002]
& @Created <= [06.02.2002]))


die Formel zeigt in der Ansicht nur die Dokumente an, die die Maske "DeineMaske" verwenden und zwischen dem 01.02. und dem 06.02.2002 erstellt worden sind.

Ein guter Trick, um sich solche Formeln aufzubauen ist mit einfachen Aktionenzu arbeiten die sehr intuitiv zu erstellen sind und sich dann die Formel dazu anzeigen zu lassen, indem man einfach im Designer in der DropDown Box "Formel" wählt.

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Puolisuomalainen

  • Gast
Re: Ansichtssache!
« Antwort #4 am: 24.09.02 - 16:07:56 »
Wiederum Danke!


Da kommen wir der Sache nun schon näher!

Nur möchte der User der die DB dann nutzt sich individuelle Zeiträume erstellen und dann sollte man die in der Ansicht sehen können.

Kann ich in dem Code: SELECT (@Contains(FORM; "DeineMaske")) & ((@Created >= [01.02.2002]  
& @Created <= [06.02.2002]))
auch auf Felder in der Zeitraummaske zugreifen?

In der Zeitraummaske lege ich die Zeiträume fest. Es gibt ein "von" & ein "bis" & ein "Status" Feld.
Sobald der Status aktiv gesetzt ist, sollen in der Ansicht genau diese Dokumente, die in den Zeitraum passen, angezeigt werden.
So wie oben in Deiner Formel, nur soll der User die Zeiträume in der "Zeitraummaske" erfassen  und evtl. aktiv setzen und dann sollen jene in der Ansicht sichtbar sein. Wenn mehrere Zeiträume aktiv gesetzt sind, dann sieht man dies, in der ersten Spalte der Ansicht. Die erste Spalte ist kategorisiert und somit sehe ich die Zeiträume als erstes. Wenn ich die dann erweitere, dann sehe ich die Dokumente.

Puhhhh, ich weiss das ist alles nicht so leicht und ich glaub es ist auch nicht gut erklärt, aber vielleicht fallen Dir ja doch noch ein paar gute Tips (so wie das mit den einfachen Aktionen - Danke) ein.


Wie immer, vielen Dank im voraus,

puolisuomalainen

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Ansichtssache!
« Antwort #5 am: 24.09.02 - 16:28:04 »
Hi,

ich hab da vielleicht eine Idee.

Als erstes fügst du in die Maske für die Buchungen ein neues Textfeld ein.

Du brauchst einen Agenten.  In diesem frägst du den Zeitraum ab. Mit diesen Angaben führst du eine Suche innerhalb der Datenbank durch. In alle gefundenen Dokumenten fügst du in das Textfeld den Zeitraum als Text (z.B. "01.08.2002 - 31.08.2002") ein.

Zum Schluß ist noch eine Ansicht mit der Formel @SELECT Textfeld != "" (wobei Textfeld durch den Namen des Feldes ersetzt werden muß) notwendig. In der ersten Spalte wird das Textfeld kategorisiert angezeigt.

Anstatt der Ansicht kannst du auch mit Ordnern arbeiten. In diesem Fall schiebst du im Agent das Suchergebnis nach der Bearbeitung in den Ordner.

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Puolisuomalainen

  • Gast
Re: Ansichtssache!
« Antwort #6 am: 25.09.02 - 09:25:06 »
Hi,

    -Auch Hi,

ich hab da vielleicht eine Idee.

    -Ihr habt alle so gute Ideen, aber ich brauch doch noch immer Hilfe!

Als erstes fügst du in die Maske für die Buchungen ein neues Textfeld ein.

    -Das ist ja noch klar!

Du brauchst einen Agenten.  In diesem frägst du den Zeitraum ab. Mit diesen Angaben führst du eine Suche innerhalb der Datenbank durch. In alle gefundenen Dokumenten fügst du in das Textfeld den Zeitraum als Text (z.B. "01.08.2002 - 31.08.2002") ein.  



    -Wie frage ich den Zeitraum ab? Wo sag ich das dem Agenten? Button „Suche hinzufügen“??? Aber diesen Button brauch ja um die Suche in innerhalb der DB durchzuführen, oder? Wie füge ich die gefundenen Dokumente in das Textfeld ein? Einfache Aktionen – Feld ändern?



Zum Schluß ist noch eine Ansicht mit der Formel @SELECT Textfeld != "" (wobei Textfeld durch den Namen des Feldes ersetzt werden muß) notwendig. In der ersten Spalte wird das Textfeld kategorisiert angezeigt.  



    -OK, das scheint auch für mich logisch zu sein. Nur wie fliesst denn der Status des Zeitraums da hinein? Nur wenn ein Zeitraum den Status aktiv hat, dann soll er in der Ansicht angezeigt werden.


Anstatt der Ansicht kannst du auch mit Ordnern arbeiten. In diesem Fall schiebst du im Agent das Suchergebnis nach der Bearbeitung in den Ordner.




    -Tut mir leid, dass ich das nicht selbst hingebracht hab, aber vielleicht gibt´s da von irgendwem Geduldigen noch ein paar Tips für mich.



    -Liebe Grüße und noch mal Danke,


    -puolisuomalainen
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Ansichtssache!
« Antwort #7 am: 25.09.02 - 09:54:59 »
da fällt mir noch was ein:

warum benutzt du nicht die Volltextsuche? Wenn du dir die Suchleiste einblendest, findest du dort auch die Schaltfläche "mehr" hier kannst du dir dann Abfragen zusammenbasteln und, was der Vorteil ist auch abspeichern. Das geht bis auf feldebene, so daß du deine Von/Bis Abfragen sehr elegant ohne Programmieraufwand erstellen kannst.
Auch mit dem "Aktiv" ist kein Problem, da du ja die Abfragen logisch verknüpfen kannst.

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Ansichtssache!
« Antwort #8 am: 25.09.02 - 10:16:17 »
Hi,

das ist eine einfache und geniale Lösung und das ohne Programmieraufwand.

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Puolisuomalainen

  • Gast
Re: Ansichtssache!
« Antwort #9 am: 25.09.02 - 15:22:41 »
Ist wirklich eine geniale Idee und die Möglichkeiten sind auch toll, aber...

...wenn ich diese Abfragen zusammenbastle, kann ich die schon speichern und sie in einen Ordner ziehen und dort dann immer ansehen. Aber ich kann sie nicht aktualisieren wenn ich nicht weiss wie so eine Suchleiste funktioniert.
Der User der die DB verwendet weiss das auch nicht, der will die Buchungen sortiert & kategorisiert sehen.
Der User soll sich in der "Zeitraum"-Maske Zeiträume anlegen können und wenn er ein oder mehrere Zeiträume auf Status aktiv setzt, dann sieht er in der Ansicht "Umsatzliste" die Dokumente die unter die angelegten Zeiträume fallen. Die Dokumente sind mit zwei verschiedenen Masken erstellt worden.

Das Problem sehe ich darin, dass da eigentlich drei Masken sind ("Zeitraum", "Umsatzerfassung1", "Umsatzerfassung2")
auf die in der Ansicht Umsatzliste zugegriffen wird.

Nun brauche ich eine Möglichkeit der Ansicht zu sagen dass sie nur die Dokumente anzeigt die auch unter einen Zeitraum fallen der aktiv gesetzt ist. Und das muss aber flexibel sein. dH ich kann jederzeit neue Zeiträume erstellen und diese in der Ansicht (in der ersten Spalte sollte dann zB 03/08/02-04/02/03 stehen) anschauen.
Wenn ich neue Dokumente erstelle, dann soll sich die Ansicht natürlich auch aktualisieren.

Puhhh, ich nerve ordentlich, aber ich kriegs einfach nicht hin, hoffentlich habe ich es nun halbwegs hingebracht und ihr wisst nun worums da geht.

Und vielleicht gibt es ja noch immer jemanden der mir da helfen kann,


LG

puolisuomalainen

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Ansichtssache!
« Antwort #10 am: 25.09.02 - 15:46:31 »
das Problem, was Du hast, ist ein in Notes bisher ungelöster gordischer Knoten = sprich "dynamische Ansichten"

Dynamische Ansichten verhalten sich so, wie von Dir zB beschrieben, nur...es gibt kein Möglichkeit in Notes, das so zu realisieren.

Man hat zwar sogenannte "personal views" und der Select selber sagt zB "zeige mir nur Docs vom User und die im Zeitraum a-z erstellt worden sind". Das geht. Doch, man kann diese Select Anweisung nicht dynamisch ändern. Das ist die Crux.

Man kann auch nicht solche Tricks probieren, da sie einfach nicht gehen:
- per Select @environment("EintraginNotes.ini") die Notes.ini Variable auslesen, die vorher vom User per @setenvironment gesetzt worden ist (über eine eigene Maske)...environment klappt ganz dolle mit lokalen DBs aber leider nicht, wenn die DB auf dem Server steht..warum auch immer  :'(
- per getprofile...da dies in Selects nicht angenommen wird
-ebenso nicht per dblookup, getdoc etc... ähnliche Spielchen.

Das einzigste, was ich je dazu bisher gesehen habe, war auf searchdomino.com in Lotus411 ein Tip, der über db.search tatsächlich die note.id der View gegfriffen hat und die Select Anweisung angepasst hat. Dummerweise hat er dabei die cols verloren (was aber für sein Thema kein Prob war)...ein vielversprechender Ansatz, den keiner weiterverfolgt hat.

So bleibt Dir lediglich wohl der Weg über
- Kategorien mit allen Zeiträumen (verschmerzbar)
- Ordnern -> QueryOpen zieht alle Docs rein, die User vorher über Auswahl des Zeitraums bestimmt hat
- embedded view
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline TheCrow

  • Frischling
  • *
  • Beiträge: 46
  • Geschlecht: Männlich
  • Es kann ja nicht immer Regnen
Re: Ansichtssache!
« Antwort #11 am: 26.09.02 - 11:10:50 »
Hallo,

das man Ansichten nicht dynamisch machen kann, ist nicht ganz richtig.

Man kann eine Ansicht sehr leicht nach _einem_ Kriterium einschränken. Bei zwei Kriterien wird es schon etwas schwieriger, da man eine Art Auswahlmatrix erstellen müsste, auf die die Ansicht auch angepasst wäre. Das Filtern nach beliebig in der Ansicht stehenen Feldern ist nicht möglich, das stimmt leider.

Wie kann ich nun eine Ansicht nach einem Kriterium einschränken ?

Zuerst lege ich ein Feld an, in dem mein Auswahlkriterium steht und gebe ihm einen passenden Namen.

Danach nimmt man seine betroffene Ansicht und fügt sie per Menüpunkt "Eingebettetes Element" in eine Maske ein.

Jetzt sucht man sich im Designer seine jetzt eingebettete Ansicht und gibt jetzt den oben genannten Feldnamen unter dem Punkt "Einzelnde Kategorie anzeigen" (unter Objekte)

Ich hoffe ich konnte dir Helfen.

Ciao
Andi
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Es kann ja nicht immer regnen...

Puolisuomalainen

  • Gast
Re: Ansichtssache!
« Antwort #12 am: 26.09.02 - 14:39:56 »
Danke schön Rob Green & Danke Andi!


Aber ich bin leider noch ein richtiger Frischling. (grunz, grunz)


Wo lege ich denn das Feld an mit dem Auswahlkriterium? In einer neuen Maske? Die Auswahl sollte ja nach einem Zeitraum gehen.
In der Maske "Zeitraum" gibt es ja die Felder "von" "Bis", mit denen man den Zeitraum auswählt. Und wenn das Feld "Buchungsdatum" aus der Buchungsmaske in diesen Zeitraum fällt dann soll es in der Ansicht angezeigt werden.
Nun gut, geht das irgendwie so:
Buchungsdatum >= von & <=bis

In welche Maske bette ich denn dann die Ansicht ein? Auch in eine neue Maske?

Vielen Dank falls da noch jemanden was einfällt,



puolisuomalainen
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz