Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: wuschel am 29.01.04 - 16:54:29

Titel: Feldformat für bestehende Dokumente ändern
Beitrag von: wuschel am 29.01.04 - 16:54:29
Hallo,
ich habe in mehreren Masken ein gleichnamiges Feld definiert, das mit "Beim Anlegen berechnen" mit einem bestimmtes Datum gefüllt wird. LEIDER ist dieses Feld in allen Masken als Textfeld definiert. In der Ansicht kann nach diesem Feld sortiert werden, was aber dazu führt, dass textorientiert, also von links nach rechts sortiert wird und nicht nach dem eigentlichen Datumswert.
Das will ich korrigieren, weiss aber nicht genau wie.
Zum einen muss ich natürlich die Felder in den Masken als Datumswert definieren. Das wirkt sich dann aber nur auf neue Dokumente aus. Also wird es wohl nur über einen Agenten gehen, der die bestehenden Dokumente ändert. Dort müsste ich dann das gespeicherte Format in der Datenstruktur ändern. Aber wie?
Hat hier jemand einen guten Tip oder ein Stück Code?
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Driri am 29.01.04 - 17:01:51
Vorausgesetzt, die Einträge in den Feldern sind wirklich alle korrekte Datumswerte, gibts eine ganz simple Lösung :

1) Felder in der Maske anpassen

2) z.B. als Button-Formel oder über ein SmartIcon starten

@Command([ToolsRefreshSelectedDocs])

oder

@Command([ToolsRefreshAllDocs])

Das dann in einer Ansicht mit allen betroffenen Dokumenten laufen lassen.
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Glombi am 29.01.04 - 17:02:15
Du machst einen Agenten mit folgender Formel:

FIELD Feldname := @If(Feldname != "";@TextToTime(Feldname);"");
""

Denn lässt Du dann über alle gewählten Dokumente laufen. Damit werden die Feldwerte von Text in Zeit konvertiert. Nachdem der Agent gelaufen ist, nicht wieder laufen lassen, sonst gibt es Fehler !!!

Andreas
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Glombi am 29.01.04 - 17:03:16
Vorausgesetzt, die Einträge in den Feldern sind wirklich alle korrekte Datumswerte, gibts eine ganz simple Lösung :

1) Felder in der Maske anpassen

2) z.B. als Button-Formel oder über ein SmartIcon starten

@Command([ToolsRefreshSelectedDocs])

oder

@Command([ToolsRefreshAllDocs])

Das dann in einer Ansicht mit allen betroffenen Dokumenten laufen lassen.

ob das auch für Felder "Berechnet beim Anlegen" funktioniert?

Andreas
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Driri am 29.01.04 - 17:11:00
Oh Mist, hab ich glatt überlesen. Mea Culpa  :-[
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Glombi am 29.01.04 - 17:18:44
Oh Mist, hab ich glatt überlesen. Mea Culpa  :-[
Ruhig Blut ! Es funktioniert trotzdem, ich war mir nur nicht sicher.
Also alles in Butter  :D

Andreas
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: wuschel am 29.01.04 - 17:19:30
@glombi:
Hört sich gut an, ich war schon drauf und dran, mir was mit LS zu basteln

@driri:
;-)

Danke Euch allen für die Hilfe
Gruß Matthias
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Glombi am 29.01.04 - 17:20:36
Da Diri's Vorschlag auch funktioniert, würde ich den nehmen. Da kann dann auch nichts passieren, wenn Du den 2x über die Dokumente laufen lässt.

Andreas
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: Driri am 30.01.04 - 08:41:40
Gut zu wissen, daß es dann auch mit solchen Feldern funktioniert  ;)
Titel: Re:Feldformat für bestehende Dokumente ändern
Beitrag von: wuschel am 04.02.04 - 11:24:22
Hallo,
ich habe mich doch für den Agenten entschieden, hab ihn aber so abgewandelt, dass er auch mehrfach lauffähig ist:

FIELD Archivdatum := @If(Archivdatum != "" & @IsText(Archivdatum) ;@TextToTime(Archivdatum);Archivdatum);

In Produktion ist er noch nicht, mit Produktionsdaten scheint aber alles zu laufen.
Danke nochmals
Matthias