← ClaudeAtlas

nav2009-developmentlisted

Develop, review, and architect C/AL code and objects for Microsoft Dynamics NAV 2009 (Navision) — Classic client and RoleTailored Client (RTC). Covers C/AL coding patterns and performance idioms (FINDSET/FINDFIRST/ISEMPTY, SETCURRENTKEY, locking, COMMIT discipline), key/SIFT design, code-review checklist, customization architecture (hooks, setup tables, number series), reports (Classic sections and RDLC), integrations (XMLports, Dataports, NAS, web services, MSMQ/COM), and upgrade-friendly patterns toward Business Central. Use for any NAV 2009 / Navision / C/AL task — writing or reviewing code, designing a customization, building a report or integration, or preparing for a BC migration.
whobat/AI-Agent-skills · ★ 0 · Code & Development · score 73
Install: claude install-skill whobat/AI-Agent-skills
# NAV 2009 Development Expert guidance for **Microsoft Dynamics NAV 2009** (incl. SP1/R2): C/AL, C/SIDE, the 2-tier Classic client and the 3-tier RoleTailored Client (RTC). This skill is knowledge-only; detailed pattern tables live in [REFERENCE.md](REFERENCE.md) — consult it before writing or reviewing non-trivial C/AL. For **performance problems** (slowness, locking, deadlocks): the C/AL-side rules are below, but measure the SQL side with the **nav2009-sql-performance** skill — its script collects the DMV evidence and its REFERENCE maps SQL findings back to C/AL causes. Use both for a complete picture. ## Platform facts (don't guess against these) - NAV 2009 is **pre-AL, pre-events**: no extensions, no event subscribers, no try-functions, no `SETAUTOCALCFIELDS`, no queries, no .NET interop in classic C/AL (DotNet variables arrive in 2009 R2 RTC service tier only). Customization = direct object modification in C/SIDE. - Two UIs coexist: **Classic** (Forms, Dataports, classic report sections) and **RTC** (Pages, XMLports, RDLC report layouts). Code may run on the Classic client, the RTC service tier, or NAS — guard UI calls with `GUIALLOWED` and don't use client-side file dialogs in server-side code. - Object/field customization ranges: **50000–99999** (licensed range). Standard objects are modified in place — every change must carry a version tag in the object's `Version List` and inline markers. - SQL Server backend: table keys → SQL indexes (`MaintainSQLIndex