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

如何查询自定义二进制字段值?已知CustomField信息关联表查询及字段返回问题

自定义二进制字段查询及关联表字段包含方案

一、查询自定义二进制字段的值

二进制/文档类型的自定义字段(对应fieldvaluetype=Document)不存储原始二进制内容,仅保存文件的内部ID引用,需分两步获取实际内容:

  1. 获取字段关联的文件ID:通过记录查询(Saved Search、REST API或SuiteScript)拿到该字段的值,这个值就是文件的internalid。
    • SuiteScript示例:
      const rec = record.load({type: 'customer', id: 123});
      const fileId = rec.getValue({fieldId: 'customfield_my_binary_field'});
      
    • REST API示例:
      GET /record/v1/customer/123?fields=customfield_my_binary_field
      
  2. 通过文件ID获取二进制内容:用文件ID调用文件接口提取实际内容。
    • SuiteScript示例:
      const fileObj = file.load({id: fileId});
      const binaryContent = fileObj.getContents(); // 返回base64编码的内容
      
    • REST API示例:
      GET /record/v1/file/{fileId}?media=true
      
      该请求会直接返回二进制文件的原始内容。

二、关联表查询中包含指定自定义字段

已知CustomField的scriptid和关联表信息后,需根据查询方式明确字段的完整引用路径:

  1. Saved Search场景:
    • 添加关联表的连接条件(比如从交易表关联客户表),在「结果」栏目中找到关联表对应的自定义字段(格式通常为[关联表名].customfield_[scriptid]),勾选加入结果集即可。
    • 注意:Document类型字段在Saved Search结果中仅显示文件的内部ID或名称,不会返回二进制内容。
  2. REST API查询场景:
    • 直接在fields参数中指定字段的完整路径,比如从交易表查询关联客户的自定义字段:
      GET /record/v1/transaction?fields=tranid,entity.customfield_my_cust_field
      
    • 若需要展开该字段的详细元数据(比如文件名称、存储路径),可使用expand参数:
      GET /record/v1/transaction?expand=entity.customfield_my_doc_field
      

三、关于fieldvaluetype=Document导致字段不返回的问题

是的,这就是你遇到部分字段未返回的核心原因:

  • Document类型的自定义字段属于引用型字段,而非文本、数值这类普通标量值类型,默认的列表查询(Saved Search或REST API)不会自动包含这类字段,必须显式指定要获取该字段,才会返回其引用的文件ID或元数据。
  • 即使显式指定,返回的也只是文件的引用信息,而非二进制内容,需要额外调用文件接口获取实际数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:25:21