You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

D365 FO OData无法读取扩展数据类型Hours字段及EdmType错误求助

针对D365 F&O工时表PowerBI报表Hours字段缺失及EdmType错误的解决方案

问题背景

基于TSTimesheetLineWeek表或继承TSTimesheetLineEntity创建的自定义数据实体,通过OData连接PowerBI/Excel时,包含7天工时的扩展数据类型(EDT)Hours字段缺失,同时出现unable to resolve the type name '' to an EdmType错误,SQL查询可正常看到该字段。

解决步骤

  • 检查扩展数据类型的OData导出配置
    打开D365的扩展数据类型设计器,定位到对应Hours的EDT(如TSHoursPerDay):

    • 将Is Exportable属性设为Yes
    • 勾选Data Contract Attribute属性
      保存后同步数据库,重新发布数据实体。
  • 修正数据实体字段映射
    打开自定义数据实体设计器:

    1. 删除现有Hours相关字段,重新从TSTimesheetLineWeek表添加对应字段
    2. 确认每个字段的Data Type关联到正确的EDT,而非手动指定基础类型
    3. 确保Is Computed属性设为No(非计算字段场景)
    4. 执行生成数据实体→同步数据库→发布实体流程。
  • 修复EdmType解析错误
    该错误由元数据生成不完整导致,执行以下操作:

    • 在Visual Studio的D365项目中,右键项目依次执行Build和Synchronize Database
    • 进入D365的数据管理模块,运行实体存储元数据刷新作业,选择目标自定义实体
    • 访问https://<你的环境URL>/odata/$metadata,按Ctrl+F5强制刷新,确认元数据中是否已包含Hours字段。
  • 备选方案:拆分单个日期字段
    若EDT批量字段仍无法暴露,可在自定义实体中手动添加7个独立字段,分别映射到TSTimesheetLineWeek表的MonHours、TueHours等列,字段类型设为Real,OData可正常识别并同步到PowerBI/Excel。

  • 验证实体发布状态
    在D365的数据实体列表中检查目标实体:

    • 确认状态为已发布
    • 勾选公开OData选项
    • 点击查看OData元数据,确认Hours字段已存在,若不存在则重新发布实体。

内容的提问来源于stack exchange,提问作者Ivan Pk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 03:31:13