Install
openclaw skills install d365-fo-developerComprehensive D365 Finance & Operations development assistant covering X++, customizations, integrations, data entities, DMF, security, and deployment. Use when the user needs help with: (1) Writing X++ code and customizations, (2) D365 F&O integrations (OData, Custom Services, DMF), (3) Data entities and export/import jobs, (4) Security (XDS, Record Level Security), (5) Build/CI/CD in Azure DevOps and LCS, (6) Migration from AX 2009/2012 to D365 F&O.
openclaw skills install d365-fo-developerKey patterns:
select vs while select appropriately — select for single record, while select for batchttsBegin / ttsCommit for transactional writesSysDictTable / SysDictField over raw schema queriesbuf2Buf() for record copying, DictField::extendedFieldType() for EDT lookupsCommon snippets:
// Select with field list (avoid SELECT *)
select Field1, Field2 from myTable where myTable.RecId == _recId;
// While select with joins
while select myTable
join myTable2 where myTable2.RefRecId == myTable.RecId
{
// process
}
// Insert with initFrom
myTable2.initFrom(myTable);
myTable2.FieldX = value;
myTable2.insert();
/data/<EntityName> — supports CRUD via GET/POST/PATCH/DELETEDMFDataManagementService or OData /data/DataManagementDefinitionGroupsDataEntity, SysDataEntity, custom entities via DataEntityAttributeSee references/integrations.md for detailed OData, Custom Services, and DMF patterns.
https://<env>.operations.dynamics.com/api/services/UserSessionService/AifUserSessionServiceSysServiceController for data operations/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ImportFromPackageSee references/security.md for XDS and Record Level Security details.
Hotfix/ISV deployment:
CI/CD with Azure DevOps:
xppc.exetry
{
ttsBegin;
// transactional logic
ttsCommit;
}
catch (Exception::Error)
{
ttsAbort;
throw error("Descriptive error message");
}
SELECT * — always specify field listssetTimeout(DB_TIMEOUT) for long-running queriesinsert_recordset / update_recordset over row-by-row operationsindex keyword when table is largeFor detailed guides, read these files as needed: