alguidelines.dev - Business Central Design Patterns – UXhttps://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/Recent content in UX on alguidelines.dev - Business Central Design PatternsHugo -- gohugo.ioen-usDocs: Actions - Imageshttps://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/actions-images/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/actions-images/ <p>All actions must have an image assigned to them.</p> <p>Bad code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>{<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">7</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#204a87;font-weight:bold">Action</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>CaptionML=ENU=Customer<span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">&amp;</span>Balance<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>RunObject=<span style="color:#204a87;font-weight:bold">Report</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">121</span><span style="color:#f8f8f8;text-decoration:underline"> </span>}<span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div><p>Good code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>{<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">7</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#204a87;font-weight:bold">Action</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>CaptionML=ENU=Customer<span style="color:#f8f8f8;text-decoration:underline"> </span>-<span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#ce5c00;font-weight:bold">&amp;</span>Balance<span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>RunObject=<span style="color:#204a87;font-weight:bold">Report</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#0000cf;font-weight:bold">121</span><span style="color:#f8f8f8;text-decoration:underline"> </span>}<span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>Image=<span style="color:#204a87;font-weight:bold">Report</span><span style="color:#f8f8f8;text-decoration:underline"> </span>}<span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div>Docs: CONFIRMhttps://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/confirm/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/confirm/ <p>Always end CONFIRM with a question mark.</p> <p>Bad code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>ChangeAllOpenedEntriesQst@<span style="color:#0000cf;font-weight:bold">1000</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=Do you want to change all open entries for every customer and vendor that are not blocked&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">... </span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CONFIRM<span style="color:#ce5c00;font-weight:bold">(</span>ChangeAllOpenedEntriesQst<span style="color:#000;font-weight:bold">,</span>TRUE<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div><p>Good code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>ChangeAllOpenedEntriesQst@<span style="color:#0000cf;font-weight:bold">1000</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=Do you want to change all open entries for every customer and vendor that are not blocked?&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">... </span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span><span style="color:#204a87;font-weight:bold">IF</span><span style="color:#f8f8f8;text-decoration:underline"> </span>CONFIRM<span style="color:#ce5c00;font-weight:bold">(</span>ChangeAllOpenedEntriesQst<span style="color:#000;font-weight:bold">,</span>TRUE<span style="color:#ce5c00;font-weight:bold">) </span><span style="color:#204a87;font-weight:bold">THEN</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div>Docs: FIELDERRORhttps://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/fielderror/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/fielderror/ <p>Never use FIELDERROR with a period as it is automatically inserted.</p> <p>Bad code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>InvalidValue@<span style="color:#0000cf;font-weight:bold">1025</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=is invalid.&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">... </span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>Cust<span style="color:#ce5c00;font-weight:bold">.</span>FIELDERROR<span style="color:#ce5c00;font-weight:bold">(</span>&#34;No.&#34;<span style="color:#000;font-weight:bold">,</span>InvalidValue<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div><p>Good code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>InvalidValue@<span style="color:#0000cf;font-weight:bold">1025</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=is invalid&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">... </span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>Cust<span style="color:#ce5c00;font-weight:bold">.</span>FIELDERROR<span style="color:#ce5c00;font-weight:bold">(</span>&#34;No.&#34;<span style="color:#000;font-weight:bold">,</span>InvalidValue<span style="color:#ce5c00;font-weight:bold">)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div>Docs: MESSAGE and ERRORhttps://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/message-and-error/Mon, 01 Jan 0001 00:00:00 +0000https://alguidelines.dev/docs/navpatterns/3-cal-coding-guidelines/ux/message-and-error/ <p>Always end MESSAGE or ERROR with a period.</p> <p>Bad code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>CustIsBlockedErr@<span style="color:#0000cf;font-weight:bold">1025</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=You cannot %1 this type of document when Customer %2 is blocked with type %3&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">... </span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>CustIsBlockedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div><p>Good code</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-al" data-lang="al"><span style="display:flex;"><span>CustIsBlockedErr@<span style="color:#0000cf;font-weight:bold">1025</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">TextConst</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#39;ENU=You cannot %1 this type of document when Customer %2 is blocked with type %3.&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#ce5c00;font-weight:bold">... </span></span></span><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold"></span>ERROR<span style="color:#ce5c00;font-weight:bold">(</span>CustIsBlockedErr<span style="color:#000;font-weight:bold">,</span><span style="color:#ce5c00;font-weight:bold">...)</span><span style="color:#000;font-weight:bold">;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div>