Skip to content
walterorando.com /
Search

Latest articles

Microsoft Dynamics 365 Business Central

Orando2 minute read

Most developers stop at SetLoadFields and think they’re done optimizing. But here’s the catch: loading too many fields wastes resources, and touching a field you didn’t load triggers a hidden fetch that kills performance.The real win? Combine Partial Records with AddLoadFields deliberately, load only what you need, when you need it. That’s how you keep…

Read article
Orando2 minute read

You added a custom Tracking Number field to the Sales Invoice Header. In Sandbox, it runs smooth. But in Production with 500,000+ records? Filtering drags for 15 seconds and locks up the UI.The culprit? A Table Scan. SQL is reading every single row to find your data because you didn’t give it a map. ✖️…

Read article
Orando2 minute read

When “Text” becomes a ticking time bomb…An audit uncovers passwords sitting in plain sight in your database, API keys exposed in the debugger, Credentials leaking through telemetry logs. The verdict? Critical security vulnerability.As developers, we often juggle sensitive keys, but relying on the standard Text data type is like leaving your house keys dangling in…

Read article
Orando2 minute read

Ever opened a Record Page and been stuck watching the spinning wheel while a BC page crunches numbers? That’s a user experience killer. ✖️ The Problem: Blocking UIBy default, AL runs synchronously, that means if your page calls an external API or crunches complex totals inside OnAfterGetCurrRecord, the page is locked until the work is…

Read article
Orando2 minute read

Ever tried adding the Document Attachment FactBox to a custom table and hit “Record not open”? Here’s how I solved it and how you can avoid the same trap. ✖️ The Problem: Standard factbox doesn’t know your table.The standard document attachment uses RecordRef. If you don’t handle it correctly, it breaks. What’s really happening behind…

Read article
Orando2 minute read

Ever had a report, dashboard or any other analytics freeze because someone else was posting a record? That’s locking contention. By default, AL plays it safe, it waits for other transactions to finish before reading. But here’s the thing, you don’t always have to wait. ✖️ The Problem: Default Locking Blocks Your Reads.By default, Business…

Read article
Orando2 minute read

Do you notice functions taking longer than expected to load or execute?Performance bottlenecks can stem from many sources, but inefficient record checks are a common culprit. A frequent error is the use of Record.Count() in scenarios where the lighter Record.IsEmpty() would suffice.👉 By replacing Count() with IsEmpty(), you avoid unnecessary scans, save processing time, and…

Read article