Autor Thema: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren  (Gelesen 5187 mal)

Offline prong!

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Hallo ,

in einer Ansicht habe ich eine Spalte : Creationdate .

Ziel : ich möchte in der Ansicht nur Dokumente anzeigen , welche schon mindestens 3 Wochen alt sind...

Wie könnte ich nun den Ansichtsfilter so setzen, das nur die mehr als 3 wochen alten Dokumente ( Creationdate - 21Tage ) angezeigt werden ?

Beispiel:

Field Name: Creationdate
Data Type: Time/Date
Data Length: 8 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: SUMMARY

13.02.2007 17:03:00 CET


Unter Script würde dies gehen mit ( nur bezogen auf now , nicht auf creatindate) :

Dim dateTime As New NotesDateTime( Now )
Call dateTime.AdjustDay( -21 )

Aber lässt sich dieses auf die Ansicht anwenden oder sogar den Ansichtsfilter beeinflussen , und das vielleicht sogar in Formelsprache ?

Würde mich über Schubser in die richtige Richtung freuen ,

Gruß Dirk.


Offline prong!

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Momentan denke ich darüber nach per Agent / alle Dokumente in der Ansicht zu aktualisieren und ein Feld 'Show' als Hilfe zu benutzen :

Wenn das Feld Show dann 1 sein sollte könnte man dies bequem per Formel oder AnsichtsFilter begrenzen....

Jedoch es klemmt...

noch habe ich hier :

If ( dateTimeNow => doc.creationdate(0) ) Then

einen Type mismatch....

wobei

Dim dateTimeNow As New NotesDateTime( Now )

und

Field Name: Creationdate
Data Type: Time/Date
Data Length: 8 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: SUMMARY

doch vom gleichen Typ sein müssten , oder ?


Sub Initialize
   Dim s As New NotesSession
   Dim db As NotesDatabase
   
   Set db = s.CurrentDatabase
   
   Dim view As notesview
   
   Set view = db.GetView ("OpenReqs")
   
   Dim doc As notesdocument
   
   Set doc = view.GetFirstDocument
   
   While Not ( doc Is Nothing )
      
      Dim dateTime As New NotesDateTime( doc.creationdate(0) )
      Call dateTime.AdjustDay( -21 )
      
      Dim dateTimeNow As New NotesDateTime( Now )
      Call dateTimeNow.AdjustDay( -21 )
      
      If ( dateTimeNow => doc.creationdate(0) ) Then
         doc.show = "1"
      End If
      
      
   Wend
   
End Sub
« Letzte Änderung: 15.03.07 - 00:45:37 von prong! »

Offline prong!

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Hallo ,

hmm ja ok ,

Variant ist nicht gleich Time/Date....

Würde mir jemand helfen diese Formate nun so zu wandeln das Sie zum gleichen Typ werden und so vegleichbar werden ?

Danke ,

Gruß Dirk


____________________________________________________________

Now returns the current system date and time as a Variant of DataType 7 (Date/Time).


Field Name: Creationdate
Data Type: Time/Date
Data Length: 8 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: SUMMARY

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Hallo Dirk

Ich würde das nicht über einen Agenten machen, der ständig Dokumente ändert, obwohl es unnötig ist.
Mach es über die Ansichtauswahl. Hier ein Beispiel für die Formel:

Code
_todayD := @TextToTime( @Right( "idc_Heute" ; "idc_" ) );
_todayE := @TextToTime(@Right( "idc_Today" ; "idc_" ));
_todayF := @TextToTime(@Right( "idc_Aujourd'hui" ; "idc_" ));
_today := @If(_todayD > [01.01.1900];_todayD;_todayE > [01.01.1900];_todayE;_todayF);

_dat := @Adjust( CreationDate ; 0 ; 0 ; 21 ; 0 ; 0 ; 0 ) ;

SELECT   Form = "fMyForm" & _today > _dat

Ich setzte das so in verschiedenen Anwendungen ein und klappt super. keine Performance einbußen, wie bei der Verwendung von @Today ;-)
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline prong!

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Hallo Dirk

Hört sich gut an , ich werde heute mal versuchen das einzusetzen/anzuwenden.

Vielen Dank erstmal.

Gruß Dirk

Driri

  • Gast
Als Hinweis : Das ist eine sprachspezifische Lösung. Man sieht das ja auch am Code, da 3 Sprachen berücksichtigt werden. Wenn das also eine Lösung ist, die international zum Einsatz kommt, muß man das entsprechend berücksichtigen.

Offline Otto

  • Frischling
  • *
  • Beiträge: 46
  • Geschlecht: Männlich
Hallo Dirk,


Code
_todayD := @TextToTime( @Right( "idc_Heute" ; "idc_" ) );
_todayE := @TextToTime(@Right( "idc_Today" ; "idc_" ));
...

wozu eigentlich diese '@Right' usw und nicht einfach '"Heute"' ?
Ist mir da was entgangen?

Gruß
Otto

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
@Otto

Wir nutzen die DGW um unsere Anwendungen zu übersetzen.
Damit die Strings "Heute" , "Today" etc. in dem Zusammenhang nicht übersetzt werden das @Right ;-)
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Otto

  • Frischling
  • *
  • Beiträge: 46
  • Geschlecht: Männlich

Danke,
alles klar.
War auch bloß wegen der Neugier  ;)

Gruß
Otto

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Neugier ist immer gut  ;)
Die macht nicht unklug  ;D
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline prong!

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #10 am: 16.03.07 - 00:53:08 »
Hallo ,

vielen Dank bisher , das hat mir doch sehr geholfen.

Nun würde ich gerne eine weitere Spalte in der View einbringen in der die Differenz der Tage von Creation Date bis Jetzt angezeigt werden. Dadurch soll man erkennen können das der Vorgang z.B. bereits 35 Tage andauert. ( möglicherweise noch in Businessdays ).

Dann , ganz abgesehen von diesem Punkt , gibt es auch eine Möglichkeit aus einer View ein Diagramm zu erzeugen ? ( z.B. ein Excel Diagramm ? )

Ich bedanke mich schon einmal im voraus für die doch oftmals sehr gute Hilfe ,

Gruß Dirk

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #11 am: 16.03.07 - 08:25:26 »
Hallo,

vielleicht blick ich nicht so ganz  hinters erste Problem, aber das ist doch eine ganz einfach Subtraktion, oder?

@today - Creationdate

Das Ergebnis sind dann Sekunden, die noch in Tage umzurechnen sind.

Gruß Thomas
Thomas von der IuK

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #12 am: 16.03.07 - 08:32:55 »
aus der Hilfe:

Using @Today in column or selection formulas may impact the efficiency of your application. It also causes the view refresh indicator to display constantly.


Das liefert nicht nur Sekunden, das rechnet auch sekündlich neu.   ;D


mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Driri

  • Gast
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #13 am: 16.03.07 - 08:35:50 »
Zu den Diagrammen :

In Notes selber bekommst Du das nicht vernünftig hin. Entweder exportierst Du die Daten dazu nach Excel (such mal im Forum, da gibts von Axel glaub ich auch eine Klasse für die Office-Anbindung) oder Du bedienst dich externer Tools, z.B. dem hier : http://www.6wsystems.com (Darstellung als SVG im Browser).

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #14 am: 16.03.07 - 08:41:23 »
Zitat
Das liefert nicht nur Sekunden, das rechnet auch sekündlich neu.
und damit hast du einen permanenten Refresh - was für die Performance tödlich ist...

Ich würde mit einem privaten Ordner arbeiten. Ordner leer machen, per Search alle Dokumente holen, die du haben möchtest und in den Ordner verschieben...

Toni
Grüßle Toni :)

Driri

  • Gast
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #15 am: 16.03.07 - 08:44:35 »
Oder man greift doch auf einen nächtlichen Agent zurück, der die Dokumente überarbeitet. Ist natürlich ggf. mit den Ungelesen-Markierungen nicht so schön.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #16 am: 16.03.07 - 08:52:15 »
... je nachdem wieviele Dokumente da nächtlich geändert werden - jede Nacht aus Aktualisierungsgründen die Dokumente ändern halte ich für keine so gute Idee...

Toni
Grüßle Toni :)

Driri

  • Gast
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #17 am: 16.03.07 - 09:02:50 »
Jo, muß man halt abwägen. Wenn das nur ne Handvoll Dokumente sind, würd ich die Dokumente aktualisieren.

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #18 am: 16.03.07 - 09:16:06 »
Und beim Start der DB mit @Setenvironment das aktuelle Datum in eine Variable übergeben, und dann in der Formel halt dieses Datum abfragen, statt @today?
Thomas von der IuK

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: in Formelsprache Datumsdifferenz bilden und Ansicht reduzieren
« Antwort #19 am: 16.03.07 - 10:58:39 »
... das wäre auch eine Möglichkeit - hatte ich auch schon mal verwendet für tägliche Wiedervorlagen.

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz