Feld Property „Recommended“ in NAV

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(“);

Schreibe einen Kommentar

Your email address will not be published.

*

code