D365 F&O 开发人员
v1.0.0全面涵盖D365 Finance & Operations开发助手,包括X++、自定义、集成、数据实体、DMF、安全和部署等方面。使用...
运行时依赖
安装命令
点击复制技能文档
D365 F&O 开发人员快速参考 X++ 开发关键模式: 使用 select 和 while select恰当地——单条记录使用 select,批量使用 while select 始终使用 ttsBegin / ttsCommit 进行事务性写操作 更喜欢使用 SysDictTable / SysDictField 而不是原始模式查询 使用 buf2Buf() 进行记录复制,DictField::extendedFieldType() 进行 EDT 查找 常用代码片段: // 带字段列表的 select(避免 SELECT ) select Field1, Field2 from myTable where myTable.RecId == _recId; // 带连接的 while select while select myTable join myTable2 where myTable2.RefRecId == myTable.RecId { // 处理 } // 使用 initFrom 的插入 myTable2.initFrom(myTable); myTable2.FieldX = value; myTable2.insert();
数据实体 OData 端点:/data/ —— 支持 CRUD 通过 GET/POST/PATCH/DELETE DMF(数据管理框架): 导出:创建数据项目 → 添加实体 → 导出到 CSV/Excel/包 导入:上传文件 → 映射字段 → 导入 编程:使用 DMFDataManagementService 或 OData /data/DataManagementDefinitionGroups 关键实体模式:DataEntity,SysDataEntity,自定义实体通过 DataEntityAttribute
集成 请参阅 references/integrations.md 以获取详细的 OData、自定义服务和 DMF 模式。 OData:标准 REST 端点。通过 AAD 进行身份验证。 服务端点:https://.operations.dynamics.com/api/services/UserSessionService/AifUserSessionService 自定义服务:X++ 服务类作为 SOAP/WCF 端点。使用 SysServiceController 进行数据操作 DMF:适用于批量数据。REST 端点 /data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ImportFromPackage
安全性 请参阅 references/security.md 以获取 XDS 和记录级安全性详细信息。 XDS(可扩展数据安全性):基于角色的行级筛选。通过 AOT 应用约束基于的策略 记录级安全性:与 XDS 类似,但应用于每个用户/角色的记录级 职责和权限:细粒度的权限项。映射到菜单项和服务操作
构建和部署 修复/ISV 部署:从开发环境导出模型 将模型包部署到构建环境 运行完整的构建管道 通过 LCS 生成可部署包 CI/CD 与 Azure DevOps:使用 D365 F&O Build Automation 任务 X++ 编译通过 xppc.exe 单元测试通过 SysTest 框架
错误处理模式 try { ttsBegin; // 事务逻辑 ttsCommit; } catch (Exception::Error) { ttsAbort; throw error("描述性错误消息"); }
性能提示 避免 SELECT —— 始终指定字段列表 使用 setTimeout(DB_TIMEOUT) 进行长时间运行的查询 更喜欢 insert_recordset / update_recordset 而不是逐行操作 使用索引提示时表很大
参考 有关详细指南,请根据需要阅读以下文件: 集成 —— OData、自定义服务、DMF 深入探讨 安全性 —— XDS、RLS、职责和权限