UX on AL Guidelineshttps://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/Recent content in UX on AL GuidelinesHugo -- gohugo.ioen-usActions - Imageshttps://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/actions-images/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/actions-images/All actions must have an image assigned to them. Bad code { 7 ;1 ;Action ; CaptionML=ENU=Customer - &Balance; RunObject=Report 121 } Good code { 7 ;1 ;Action ; CaptionML=ENU=Customer - &Balance; RunObject=Report 121 } Image=Report }CONFIRMhttps://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/confirm/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/confirm/Always end CONFIRM with a question mark. Bad code ChangeAllOpenedEntriesQst@1000 : TextConst 'ENU=Do you want to change all open entries for every customer and vendor that are not blocked'; ... IF CONFIRM(ChangeAllOpenedEntriesQst,TRUE) THEN Good code ChangeAllOpenedEntriesQst@1000 : TextConst 'ENU=Do you want to change all open entries for every customer and vendor that are not blocked?'; ... IF CONFIRM(ChangeAllOpenedEntriesQst,TRUE) THENFIELDERRORhttps://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/fielderror/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/fielderror/Never use FIELDERROR with a period as it is automatically inserted. Bad code InvalidValue@1025 : TextConst 'ENU=is invalid.'; ... Cust.FIELDERROR("No.",InvalidValue); Good code InvalidValue@1025 : TextConst 'ENU=is invalid'; ... Cust.FIELDERROR("No.",InvalidValue);MESSAGE and ERRORhttps://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/message-and-error/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/navpatterns/3-cal-coding-guidelines/ux/message-and-error/Always end MESSAGE or ERROR with a period. Bad code CustIsBlockedErr@1025 : TextConst 'ENU=You cannot %1 this type of document when Customer %2 is blocked with type %3'; ... ERROR(CustIsBlockedErr,...); Good code CustIsBlockedErr@1025 : TextConst 'ENU=You cannot %1 this type of document when Customer %2 is blocked with type %3.'; ... ERROR(CustIsBlockedErr,...);