Here is some useful code that prompts for a field name, field value and field type. If the field exists and has a value, it automatically defaults the new value to the existing value.
unid:= @Text(@DocumentUniqueID);
theField := @Prompt([OkCancelEditCombo]; "Change Field"; "Select Field";""; "":@DocFields);
currValueTemp:= @GetDocField(unid; theField);
currValue:= @If( @IsError(currValueTemp); "errorValue"; @Text(currValueTemp) );
theValue := @Prompt([OkCancelEdit]; "Change Field"; "New Value: use semicolon separator for lists."; currValue);
currType:= @If( @IsNumber(currValueTemp); "Number"; @IsTime(currValueTemp); "Time"; "Text" );
theType := @Prompt([OkCancelList]; "Change Field"; "Data Type"; currType; "Text" : "Time" : "Number" : "Text List" : "Number List" : "Time List" : "Delete Field");
@If(
theType = "Time";
@SetField(theField; @TextToTime(theValue));
theType = "Number";
@SetField(thefield; @TextToNumber(theValue));
theType = "Text List";
@SetField(theField; @Trim(@Explode(theValue;";")));
theType = "Number List";
@SetField(theField; @TextToNumber(@Explode(@Trim(@ReplaceSubstring(theValue;" ";""));";")));
theType = "Time List";
@SetField(theField; @TextToTime(@Explode(theValue;";")));
theType = "Delete Field";
@SetField(theField; @DeleteField);
@SetField(theField; @Text(theValue))
)
No comments:
Post a Comment