Hallo zusammen!
Hier ein kleiner best "practice tip" wenn es darum geht wie mal empfohlene Felder in NAV für den User markieren kann OHNE Form Design anzuwenden.
Dazu reicht eine kleine Modifikation in CU 1 aus.
Danach ist es möglich die Feld Eigenschaft "CaptionClass" als Eigenschaft am Feld dafür zu verwenden:
Schritte:
1. Nachstehende Modifikation in CU 1 einbauen
2. In der Tabelle beim gewünschten Feld das Property ändern (siehe Beispiel)
Eigenschaft CationClass ändern: ‘4,1,18,2’ = Empfohlen = zeigt an Caption + *
( ‘4,0,18,2’= nicht empfohlen (keine Angabe notwendig) )
3.Fertig! (einfach jetzt das zugehörige Form starten)
Umsetzung (10 Minuten):
Beispiel: das Feld Name in der Tabelle Debitor soll als "Empfohlen" gekennzeichnet werden:
Erklärung:
4= Eigenschaft Empfohlen setzen
0|1= 1 Ja empfohlen
18 = TableNo
2 = FieldNo
Source:
Codeunit 1
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(“);