TinaJ7 2024-04-05 15:05 采纳率: 100%
浏览 79
已结题

关于金蝶请求示例字段报错问题

金蝶软件导出的excel采购订单表格 让我在java中获取里面的数据之后拼接成他们的json请求示例来看看在线测试是否成功 并存入数据库 我将数据获取出来了,请求示例字符串拼接出来了:

{
  "NeedUpDateFields": [],
  "NeedReturnFields": [],
  "IsDeleteEntry": "true",
  "SubSystemId": "",
  "IsVerifyBaseDataField": "false",
  "IsEntryBatchFill": "true",
  "ValidateFlag": "true",
  "NumberSearch": "true",
  "IsAutoAdjustField": "false",
  "InterationFlags": "",
  "IgnoreInterationFlag": "",
  "IsControlPrecision": "false",
  "ValidateRepeatJson": "false",
  "Model": {
    "FBillTypeID": {
      "FNumber": "CGDD01_SYS"
    },
    "FBillNo": "CGDD000003",
    "FDate": "2024-03-20",
    "FSupplierId": {
      "FNumber": "VEN00002"
    },
    "FPurchaseOrgId": {
      "FNumber": "100"
    },
    "FProviderId": {
      "FNumber": "VEN00002"
    },
    "FProviderContactId": {
      "FNumber": "CXR000002"
    },
    "FSettleId": {
      "FNumber": "VEN00002"
    },
    "FChargeId": {
      "FNumber": "VEN00002"
    },
    "FCorrespondOrgId": {
      "FNumber": "100101"
    },
    "FIsModificationOperator": "False",
    "FDeliveryStatus": "未配送",
    "FChangeStatus": "否",
    "FACCTYPE": "数量验收",
    "FIsMobBill": "False",
    "FLogisticStatus": "待发货",
    "FReturnStatus": "否",
    "FOrderSendStatus": "未发送",
    "FVerifyStatus": "待确认",
    "FJobInstructionBill": "False",
    "FModifyTime": "2024-03-20 16:17:11",
    "FPOOrderFinance": {
      "FSettleCurrId": {
        "FNumber": "PRE001"
      },
      "FExchangeTypeId": {
        "FNumber": "HLTX01_SYS"
      },
      "FExchangeRate": 1.0,
      "FPriceTimePoint": "系统日期",
      "FIsIncludedTax": "True",
      "FISPRICEEXCLUDETAX": "True",
      "FLocalCurrId": {
        "FNumber": "PRE001"
      },
      "FSEPSETTLE": "False",
      "FDepositRatio": 0.0,
      "FAllDisCount": 0.0,
      "FUPPERBELIEL": 0.0
    },
    "FPOOrderClause": [
      {}
    ],
    "FPOOrderEntry": [
      {
        "FProductType": "主产品",
        "FMaterialId": {
          "FNumber": "00002"
        },
        "FMaterialDesc#2052": "牛腩",
        "FSumUnitID": {
          "FNumber": "kg"
        },
        "FDeliveryDate": "2024-03-20 16:15:35",
        "FUnitId": {
          "FNumber": "kg"
        },
        "FQty": 6.0,
        "FPrice": 7.964602,
        "FTaxPrice": 9.0,
        "FPriceBaseQty": 6.0,
        "FEntryTaxRate": 13.0,
        "FDeliveryLastDate": "2024-03-20 23:59",
        "FDeliveryMaxQty": 6.0,
        "FRequireOrgId": {
          "FNumber": "100"
        },
        "FDeliveryEarlyDate": "2024-03-20 16:15",
        "FDeliveryMinQty": 6.0,
        "FPriceCoefficient": 1.0,
        "FEntrySettleOrgId": {
          "FNumber": "100"
        },
        "FReceiveOrgId": {
          "FNumber": "100"
        },
        "FPriceUnitQty": 6.0,
        "FPlanConfirm": "True",
        "FGiveAway": "False",
        "FTimeControl": "False",
        "FDeliveryStockStatus": {
          "FNumber": "KCZT02_SYS"
        },
        "FStockUnitID": {
          "FNumber": "kg"
        },
        "FStockQty": 6.0,
        "FStockBaseQty": 6.0,
        "FSumUnitQty": 6.0,
        "FIsStock": "True",
        "FDeliveryControl": "False",
        "FSalUnitID": {
          "FNumber": "kg"
        },
        "FSalQty": 6.0,
        "FInventoryQty": 0.0,
        "FSalBaseQty": 6.0,
        "FAllAmountExceptDisCount": 54.0,
        "FEntryDeliveryPlan": [
          {
            "FDeliveryDate_Plan": "2024-03-20 16:15:35",
            "FPlanQty": 6.0,
            "FPREARRIVALDATE": "2024-03-20",
            "FTRLT": 0.0
          }
        ]
      }
    ]
  }
}

报了这个错 不知道是格式错了 还是值的问题

{
  "ResponseStatus": {
    "ErrorCode": 500,
    "IsSuccess": false,
    "Errors": [
      {
        "FieldName": "FPriceUnitId",
        "Message": "单据体“明细信息”第1行字段“计价单位”是必填项",
        "DIndex": 0
      },
      {
        "FieldName": "FSupplierId",
        "Message": "字段“供应商”是必填项",
        "DIndex": 0
      },
      {
        "FieldName": "FMaterialId",
        "Message": "单据体“明细信息”第1行字段“物料编码”是必填项",
        "DIndex": 0
      },
      {
        "FieldName": "FBillNo",
        "Message": "违反字段唯一性要求:编码唯一。[CGDD000003]在当前系统中已经被使用。",
        "DIndex": 0
      },
      {
        "FieldName": "",
        "Message": "供应商不能为空",
        "DIndex": 0
      }
    ],
    "SuccessEntitys": [],
    "SuccessMessages": [],
    "MsgCode": 11
  },
  "Id": "",
  "Number": "",
  "NeedReturnData": [
    {}
  ]
}

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-04-05 15:05
    关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    根据报错信息和请求示例,可以得出以下结论:

    1. 错误信息中提到了必填字段"计价单位(FPriceUnitId)"、"供应商(FSupplierId)"和"物料编码(FMaterialId)"是必填项,这意味着在请求示例中没有提供相关字段的值或者值为空。请确保这些字段的值都是有效的。

    2. 请求示例中的"FPurchaseOrgId"、"FProviderId"、"FProviderContactId"等字段也需要确认是否为必填字段,如有需要请确保提供正确的值。

    3. 如果在请求示例中提供的字段值是正确的,可以考虑以下解决方案:

      • 检查字段名称和层次结构是否正确:根据金蝶软件接口文档或者其他相关文档,确认字段名称和层次结构是否与示例一致,以确保生成的JSON请求正确。

      • 检查字段值格式是否正确:某些字段可能有特定的格式要求,例如日期、时间、数字等。请检查请求示例中的这些字段值是否符合格式要求。

      • 确保所有必填字段都有值:按照接口文档或者其他相关文档,确定哪些字段是必填字段,并提供相关字段的值。

      • 确保字段值的唯一性:如错误信息中提到的"FBillNo"字段唯一性要求,需要确保该字段值在系统中是唯一的,或者更换为其他唯一的值。

      • 尝试禁用某些校验选项:错误信息中提到了"IsAutoAdjustField"、"ValidateFlag"等字段。可以尝试将这些字段的值修改为"false"或者移除这些字段,以避免相关校验。

    4. 如果以上解决方案仍然无法解决问题,请检查金蝶软件接口文档或者咨询金蝶软件的技术支持团队,以获取更详细的帮助和支持。

    以下是对示例中未提供值的字段的修改示例:

    "FPurchaseOrgId": {
      "FNumber": "100"
    },
    "FProviderId": {
      "FNumber": "VEN00002"
    },
    "FProviderContactId": {
      "FNumber": "CXR000002"
    },
    

    可以将示例中对应字段的值修改为具体的值,替换示例中的占位符。同时需要确定其他必填字段的名称和层次结构,并提供相应的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月5日