K3 Wise 15.0 api 新增生产任务单 报错 【获取单据数据错误】

栏目:k3wise知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

K3 Wise 15.0 api 新增生产任务单 报错 【获取单据数据错误】

环境为 WinServer 08 R2

金蝶K3 Wise 15.0 安装 api相关补丁,(PT143439、PT131195、 PT129839、PT125554 等)
注意:理论上只要安装PT143439,其包含了之前的补丁但是不包含PT129839。


涉及相关dll:

Kingdee.K3.API.BusinessObject.dll

Kingdee.K3.API.Bill.dll

路径均为  X:\Program Files (x86)\Kingdee\K3ERP\K3API\BIN\


重要:只适用于安装了 PT143439 补丁后的版本。


使用自带的demo程序测试,新增报错,在安装补丁前是能正常新增的。

image.webp


post数据:

{
  "Data":{
  "Page1": [
    {
      "FAPSImported": null,
      "FHeadSelfJ01100": "测试订单",
      "FHeadSelfJ01101": "测试项目",
      "FConfirmDate": null,
      "FOrderInterID": {
        "FNumber": "SEORD000002",
        "FName": "SEORD000002"
      },
      "FCheckDate": "2023-07-27",
      "FItemID": {
        "FNumber": "08.004.0153",
        "FName": "自动排余水阀"
      },
      "FItemName": "自动排余水阀",
      "FItemModel": "SST150/80-02 组合件",
      "FUnitID": {
        "FNumber": "002",
        "FName": "PCS"
      },
      "FGMPBatchNo": null,
      "FCostObjID": {
        "FNumber": "08.004.0153",
        "FName": "自动排余水阀"
      },
      "FWorktypeID": {
        "FNumber": "LX1",
        "FName": "普通订单"
      },
      "FTranType": "85",
      "FBomInterID": null,
      "FRoutingID": null,
      "Fauxqty": "5.0000000000",
      "FInHighLimit": "0",
      "FAuxInHighLimitQty": "5.0000000000",
      "FWorkShop": {
        "FNumber": "008",
        "FName": "GYB生产车间"
      },
      "FInLowLimit": "0",
      "FAuxInLowLimitQty": "5.0000",
      "FBillNo": "P2307260003",
      "FPlanCommitDate": "2023/7/26 17:30:47",
      "FPlanFinishDate": "2023/7/23 0:00:00",
      "FMRP": {
        "FNumber": "LY1",
        "FName": "手工录入"
      },
      "Fnote": null,
      "FProductionLineID": null,
      "Fstatus": null,
      "FCommitDate": null,
      "FBillerID": {
        "FNumber": "Administrator",
        "FName": "Administrator"
      },
      "FStartDate": null,
      "FSourceEntryID": 1,
      "FPPOrderInterID": null,
      "FPlanOrderInterID": null,
      "FChangeTimes": null,
      "FScheduleID": null,
      "FType": {
        "FNumber": "LX1",
        "FName": "普通订单"
      },
      "FTraceTypeID": null,
      "FErpClsID": null,
      "FCommitQty": null,
      "FProcessPrice": null,
      "FCustID": null,
      "FAuxQtyLost": null,
      "FPlanIssueDate": null,
      "FFinishDate": null,
      "FSupplyID": null,
      "FProcessFee": null,
      "FAuxStockQty": null,
      "FAuxQtyFinish": null,
      "FAuxQtyPass": null,
      "FAuxQtyScrap": "0",
      "FAuxQtyForItem": "0",
      "FDecimal": null,
      "FConfirmerID": null,
      "FCheckerID": null,
      "FParentInterID": null,
      "FConveyerID": null,
      "FFinishTime": null,
      "FReadyTime": null,
      "FFixTime": null,
      "FMrpLockFlag": null,
      "FCloseDate": null,
      "FPlanMode": {
        "FNumber": "MTS",
        "FName": "MTS计划模式"
      },
      "FMtoNo": null,
      "FPlanConfirmed": "0",
      "FPrintCount": 0,
      "FCardClosed": null,
      "FHRReadyTime": null,
      "FFinClosed": null,
      "FFinCloseer": null,
      "FFinClosedate": {
        "FNumber": "",
        "FName": ""
      },
      "FStockFlag": {
        "FNumber": "01",
        "FName": "未领料"
      },
      "FPlanCategory": {
        "FNumber": "STD",
        "FName": "标准"
      },
      "FAddInterID": null,
      "FBomCategory": {
        "FNumber": "BZBOM",
        "FName": "标准BOM"
      },
      "FAuxPropID": null
    }
  ]
}
}


根据相关信息,增加输出日志,定位到具体函数报错:

image.webp


报错为Kingdee.K3.API.BusinessObject.dll的BOSForm0bject类的SetNewFieldvalue方法。

判断是PT143439补丁引入的

image.webp

在异常处增加判断:

if (dr.Table.Columns[str1].DataType.Name != "DateTime")
                                dr[str1] = (object)0;


后续继续发现还会报空引用。

image.webp

修改为:

          case 61:
            row[str1] = oValue == null||!BOSCommonLogic.IsDate(oValue.ToString()) ? (object) DBNull.Value : oValue;

修复后,可正常通过api接口新增【生产任务单】的单据。

PT143439补丁后报错修复.zip

K3 Wise 15.0 api 新增生产任务单 报错 【获取单据数据错误】

环境为 WinServer 08 R2金蝶K3 Wise 15.0 安装 api相关补丁,(PT143439、PT131195、 PT129839、PT125554 等)注意:理论上只要安装PT14...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息