Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: RvM am 22.10.02 - 21:14:34
-
Normalerweise müsste man doch mit "postsave" und einer einfachen Formel den Inhalt eines feld setzen, oder?
Ich möchte nämlich gerne in dem gesetzen Feld nach dem Speichern u.a. einen Textstrin incl. Name des Datei-Attachments setzen. Leider ignoriert mir der "FIELD:=..." Befehl den Attachment Namen.
Was kann ich tun??
-
meines Wissens ist das Doc nach dem QuerySave, also PostSave nicht mehr mit Formeln bzw. UI Methoden im LS Bereich veränderbar. Dazu muß man schon über das Backend das Doc abgreifen und die Werte anpassen.
Soweit klar, was ich meine?
-
... PostSave ist der Moment _nach_ dem Speichern, da geht nichts mehr, außer wie bereits gesagt im Backend...
ata
-
@ata (OT)
Du meinst ev. "Gei_ß_eln der Menschheit", Du Schwob?
SCNR
Grüße,
Wolfgang
-
... woisch ja, mir kennad älles, bloß koi hochdeitsch...
;D ;D ;D
ata
-
Ich bin mir nicht sicher, ob Dir diese Formel weiterhilft (ist aber ein ganz nützliches Tool)... packe die Formel in einen Smart-Icon, dann kannst Du Feldwerte direkt ändern.
Viel Spaß...
REM "Get a listing of all the fields on the current document";
List := @DocFields;
PromptLimit := 254;
REM "Possible data types to choose from.";
REM "I called Number Integer because use keyboard to select what you want with keyboard quicker.";
DataTypes := "Text" : "Date" : "Integer" : "Password" : "Name" : "Common Name" : "Abbreviate Name" : "Remove Field" : "Text Multi Value" : "Date Multi Value" : "Integer Multi Value" : "Name Multi Value" : "Common Name Multi Value" : "Abbreviate Name Multi Value" : "Upper Case Text" : "Lower Case Text" : "Proper Case Text" : "Upper Case Text Multi Value" : "Lower Case Text Multi Value" : "Proper Case Text Multi Value" ;
REM "Prompt for which field needs to be updated.";
EditField := @Prompt( [OKCANCELLIST] ; @DbTitle + " - " + @ViewTitle ; "Select the field you wish to alter:" ; "Subject" ; List ) ;
REM "Prompt for which data type you would like the data to be";
REM "This needs to be done before value prompt to determine if the Picklist or any prompting needs to be used.";
DataType := @Prompt( [OKCANCELLIST] : [NoSort] ; EditField + " - " + @DbTitle + " - " + @ViewTitle; "Please select the correct data type or action for field: " + EditField + "."; "Text" ; DataTypes );
REM "Based on what type of data is being entered different prompts will happen if any at all.";
RawValue := @If(
@Contains( DataType ; "Name Multi Value" ); @PickList( [Name] );
@Contains( DataType ; "Name" ) ; @PickList( [Name] : [Single] );
DataType = "Remove Field" ; "" ;
@Contains( DataType ; "Multi Value" ); @Prompt( [OKCANCELEDIT] ; EditField + " - " + @DbTitle + " - " + @ViewTitle; "Please enter the new desired value for: " + EditField + "." + @Char(13) + @Char(13) + "Seperated with ; for each value." ; @Abstract([TextOnly] ; PromptLimit ; "" ; @Text( EditField ) ) );
@Prompt( [OKCANCELEDIT] ; EditField + " - " + @DbTitle + " - " + @ViewTitle ; "Please enter the new desired value for: " + EditField + "." ; @Abstract([TextOnly] ; PromptLimit ; "" ; @Text( EditField) ) ) );
REM "If data conversion doesn\'t work then don\'t set field.";
@If(
DataType = "Date" ; @If( @SetField( EditField ; @TextToTime( RawValue ) ) );
DataType = "Integer" ; @If( @IsError( @TextToNumber( RawValue ) ) ; "" ; @SetField( EditField ; @TextToNumber( RawValue ) ) ) ;
DataType = "Common Name" ; @SetField( EditField ; @Name( [CN]; RawValue ) ) ;
DataType = "Abbreviate Name" ; @SetField( EditField ; @Name( [Abbreviate]; RawValue ) ) ;
DataType = "Password" ; @SetField( EditField ; @Password( RawValue ) ) ;
DataType = "Remove Field" ; @SetField( EditField ; @DeleteField ) ;
DataType = "Text Multi Value" ; @SetField( EditField ; @Explode( RawValue ; ";" ) ) ;
DataType = "Date Multi Value" ; @SetField( EditField ; @TextToTime( @Explode( RawValue ; ";" ) ) ) ;
DataType = "Integer Multi Value" ; @If( @IsError( @TextToNumber( @Explode( RawValue ; ";" ) ) ) ; "" ; @SetField( EditField ; @TextToNumber( @Explode( RawValue ; ";" ) ) ) ) ;
DataType = "Name Multi Value" ; @SetField( EditField ; @Explode( RawValue ; ":" ) ) ;
DataType = "Common Name Multi Value" ; @SetField( EditField ; @Name( [CN]; @Explode( RawValue ; ":" ) ) );
DataType = "Abbreviate Name Multi Value" ; @SetField( EditField ; @Name( [Abbreviate]; @Explode( RawValue ; ":" ) ) );
DataType = "Upper Case Text" ; @If( @SetField( EditField ; @UpperCase( RawValue ) ) );
DataType = "Lower Case Text" ; @If( @SetField( EditField ; @LowerCase( RawValue ) ) );
DataType = "Proper Case Text" ; @If( @SetField( EditField ; @ProperCase( RawValue ) ) );
DataType = "Upper Case Text Multi Value" ; @If( @SetField( EditField ; @UpperCase( @Explode( RawValue ; ";" ) ) ) );
DataType = "Lower Case Text Multi Value" ; @If( @SetField( EditField ; @LowerCase( @Explode( RawValue ; ";" ) ) ) );
DataType = "Proper Case Text Multi Value" ; @If( @SetField( EditField ; @ProperCase( @Explode( RawValue ; ";" ) ) ) );
@SetField( EditField ; RawValue )
);
""