Domino 9 und frühere Versionen > ND8: Entwicklung
mal wieder Mehrfachwert in Ansicht kategorisiert
Peter Klett:
--- Zitat von: marsu_2 am 14.05.13 - 18:36:19 ---... Sorry ich bin da gerade ein wenig begriffsstutzig ...
--- Ende Zitat ---
...macht nix :)
Nein, mit Datum-Zeit-Einstellungen machst Du nichts. Es gibt zwei Möglichkeiten, wie Du das Gewünschte erreichen kannst. Zum einen rechnest Du direkt in der Spalte, und zum anderen rechnest Du ins Dokument ein separates Item, in dem Du die Datumswerte für die Kategorie aufbereitest.
Beide Methoden haben Ihre Vor- und Nachteile. Rechnest Du in der Spalte, brauchst Du die Dokumente nicht anzufassen, auch nicht die schon vorhandenen, lässt den Server aber mehr tun.
Ich gebe Dir mal ein funktionierendes Beispiel für die Berechnung in der Spalte (druckfrisch aus meinem Testsystem):
--- Code: ---_dat1 := @TextToTime ("01.06.2013");
_dat2 := @TextToTime ("05.07.2014");
_dat := _dat1 : _dat2;
_kat := "";
@For (_i := 1; _i <= @Elements (_dat); _i := _i + 1;
@Do (
_new := @If (@IsTime (_dat[_i]);
@Text (@Year (_dat[_i])) + "\\" + @Right ("00" + @Text (@Month (_dat[_i])); 2) + "\\" + @Right ("00" + @Text (@Day (_dat[_i])); 2);
"");
_kat := _kat : _new
)
);
@Trim (_kat);
--- Ende Code ---
Du musst nur die Variable _dat mit Deinen Datumswerten füllen. Hast Du mehrere Felder, hängst Du sie einfach hintereinander
_dat := MeinFeld1 : MeinFeld2 : MeinFeld3
Bei nur einem Feld ordnest Du direkt zu
_dat := MeinFeld
Das Ergebnis sieht dann so aus (es ist nur ein Dokument dahinter, hake ich eines an, ist das andere ebenfalls angehakt, da es dasselbe ist).
marsu_2:
Danke für die ausführliche Beschreibung :D
Das wäre auf jedenfall eine Möglichkeit, was ich daran unschön finde ist das man dann keine zeile mit dem kompletten Datum hat.
Ich vergewaltige die Ansicht gerade ein wenig und probiere folgendes:
erste spalte / versteckt
--- Code: ---@For(n := 1;
n <= @Elements(multidat);
n := n + 1;
multidat[n])
--- Ende Code ---
zweite Spalte zum Kategorisieren nach Quartal:
--- Code: ---@For (_i := 1; _i <= @Elements (multidat); _i := _i + 1;
@Do (
_new := @If (@IsTime (multidat[_i]);
@Text (@Year (multidat[_i])) + "\\" + @Right ("00" + @Replace(
@Text(@Month(multidat[_i]));
"1":"2":"3":"4":"5":"6":"7":"8":"9":"10":"11":"12";
"1.Quartal":"1.Quartal":"1.Quartal":"2.Quartal":"2.Quartal":"2.Quartal":"3.Quartal":"3.Quartal":"3.Quartal":"4.Quartal":"4.Quartal":"4.Quartal"
); 9);
"");
_kat := _kat : _new
)
);
@Trim (_kat)
--- Ende Code ---
jetzt das richtig unschöne in den nächsten drei spalten das Datum getrennt noch mal aufgeführt sobald ich das zusammen anzeigen lassen möchte verliert er wieder die zuordnung und zeigt mir alle Termine an. Da schau cih gerade noch
--- Code: ---@Left(@Text(Multidat);2)
--- Ende Code ---
--- Code: ---"." + @Middle(@Text(Multidat);3;2)
--- Ende Code ---
--- Code: ---"." + @Right(@Text(Multidat);4)
--- Ende Code ---
jablo:
Hi zusammen
sorry wenn ich mich da einmische. :) Wenn du nur ein multi-Datumsfeld hast, musst du nicht mit @For in einer Spalte arbeiten. Könntest es auch so machen:
_ListeYear := @Text (@Year ( multiDatum ));
_ListeMonate := @Right( "0" + @Text( @Month( multiDatum )) ; 2 );
_ListeQuartal := @ReplaceSubstring( _ListeMonate ;
"01":"02":"03":"04":"05":"06":"07":"08":"09":"10":"11":"12";
"1.Quartal":"1.Quartal":"1.Quartal":"2.Quartal":"2.Quartal":"2.Quartal":"3.Quartal":"3.Quartal":"3.Quartal":"4.Quartal":"4.Quartal":"4.Quartal" );
@If ( @IsTime( multiDatum );
_ListeYear + "\\" +_ListeQuartal ;
"leererEintrag"
)
Viele Grüsse
Jan
marsu_2:
Jo Danke das stimmt.
Habe jetzt nur noch zwei Spalten:
--- Code: ---_ListeYear := @Text (@Year ( multidat ));
_ListeMonate := @Right( "0" + @Text( @Month( multidat )) ; 2 );
_ListeQuartal := @ReplaceSubstring( _ListeMonate ;
"01":"02":"03":"04":"05":"06":"07":"08":"09":"10":"11":"12";
"1.Quartal":"1.Quartal":"1.Quartal":"2.Quartal":"2.Quartal":"2.Quartal":"3.Quartal":"3.Quartal":"3.Quartal":"4.Quartal":"4.Quartal":"4.Quartal" );
@If ( @IsTime( multidat );
_ListeYear + "\\" +_ListeQuartal ;
"leererEintrag"
)
--- Ende Code ---
und:
--- Code: ---@Left(@Text(multidat);2) + "." + @Middle(@Text(multidat);3;2) + "." + @Right(@Text(multidat);4)
--- Ende Code ---
die erste Spalte kategorisiert und die zweite Spalte Mehrfachwerte getrennt anzeigen und nicht kategorisiert.
Peter Klett:
--- Zitat von: marsu_2 am 29.05.13 - 13:20:56 ---
--- Code: ---@Left(@Text(multidat);2) + "." + @Middle(@Text(multidat);3;2) + "." + @Right(@Text(multidat);4)
--- Ende Code ---
--- Ende Zitat ---
Das würde ich vermeiden. @Text (datum) kann auf unterschiedlichen Maschinen z.B. folgendes ergeben:
"01.04.2012"
"04.01.2012"
"1.4.2012"
"01-04-2012"
usw.
Nutze @Day, @Month und @Year, dann bist Du auf der sicheren Seite ...
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln