Here is another idea:
It is not like mandatory but more recommended and reduce some time of form design.
As you know in some systems recommended fields are marked with “*”
With a little modification in CU1 and it is possible to set a property of a field to “recommended” so that it this is visible to the user.
The property I mean is Caption Class:Set Property (for example in field Name of table customer) “Caption class” to
-
‘4,1,18,2’ = recommended = returns Caption + “*” or
-
‘4,0,18,2’= no changes (is not essentials)
Explanation
-
4= Set recommended
-
1= Yes
-
18 = TableNo
-
2 = FieldNo
Insert a new function in CU 1 called “Recommendedfields”
Source:
RecommendedFields(Recommended : Text[30]) : Text[80]
//get the values
CommaPosition:= STRPOS(Recommended,’,’);
IF (CommaPosition > 0) THEN BEGIN
DimCaptionType := COPYSTR(Recommended,1,CommaPosition - 1);
DimCaptionRef := COPYSTR(Recommended,CommaPosition + 1);
CommaPosition := STRPOS(DimCaptionRef,’,’);
IF (CommaPosition > 0) THEN BEGIN
DimOptionalParam1 := COPYSTR(DimCaptionRef,CommaPosition + 1);
DimCaptionRef := COPYSTR(DimCaptionRef,1,CommaPosition - 1);
CommaPosition := STRPOS(DimOptionalParam1,’,’);
IF (CommaPosition > 0) THEN BEGIN
FieldTableNoText := COPYSTR(DimOptionalParam1,1,CommaPosition - 1);
DimOptionalParam1 := COPYSTR(DimOptionalParam1,CommaPosition + 1);
CommaPosition := STRPOS(DimOptionalParam1,’,’);
FieldNoText := COPYSTR(DimOptionalParam1,CommaPosition+1);
END;
END;
//get the field caption
EVALUATE(FieldTableNo,FieldTableNoText);
EVALUATE(FieldNo,FieldNoText);
FieldTable.RESET;
FieldTable.SETRANGE(FieldTable.TableNo,FieldTableNo);
FieldTable.SETRANGE(FieldTable.“No.”,FieldNo);
IF NOT FieldTable.FINDFIRST THEN
EXIT;
//Set to recommended or not
CASE DimCaptionType OF
‘4’:
BEGIN
CASE DimCaptionRef OF
‘0’:; //no changes in caption
‘1’: EXIT(FieldTable.“Field Caption” + ‘’); // change caption with '’ or ‘Recommended’
END;
END;
END;
END;
CaptionClassTranslate(Language : Integer;CaptionExpr : Text[80]) : Text[80]
CommaPosition := STRPOS(CaptionExpr,’,’);
IF (CommaPosition > 0) THEN BEGIN
CaptionArea := COPYSTR(CaptionExpr,1,CommaPosition - 1);
CaptionRef := COPYSTR(CaptionExpr,CommaPosition + 1);
CASE CaptionArea OF
‘1’ : EXIT(DimCaptionClassTranslate(Language,CaptionRef));
‘2’ : EXIT(VATCaptionClassTranslate(Language,CaptionRef));
‘3’ : EXIT(CaptionRef);
’4’ : EXIT(RecommendedFields(CaptionExpr)); NEW!!
END;
END;
EXIT(’’);