【webapi】采购订单新变更单接口JSON样例原创
金蝶云社区-王尚策
王尚策
28人赞赏了该文章 626次浏览 未经作者许可,禁止转载编辑于2023年03月10日 09:05:04

【webapi】采购订单新变更单接口JSON样例



简单的JSON示例:

{

  "Model": {

    "FID": 0,

    "FBillTypeID": {

      "FNumber": "CGDD01_SYS"

    },

    "FPKIDX_H": 113757,(原订单的单据FID,肯定不能为空的)

    "FVersionNo": "001",

    "FBillNo": "CGDD002796_V001",

    "FDate": "2022-01-12",

    "FPurchaseOrgId": {

      "FNumber": "00"

    },

    "FSupplierId": {

      "FNumber": "GYS_XN"

    },

    "FPurchaseDeptId": {

      "FNumber": "BM000001"

    },

    "FPurchaserId": {

      "FNumber": "20150808"

    },

    "FChangeReason": "test",

    "FPOOrderFinance": {

      "FPKIdX_F": 104756,(财务页签那张表的分录id,肯定也是不为空的)

(以下财务页签里的汇率、结算币别、本位币、付款条件等内容肯定也是要填充好的)

      "FPayConditionId": {

        "FNumber": "010"

      },

      "FSettleCurrId": {

        "FNumber": "PRE001"

      },

      "FExchangeTypeId": {

        "FNumber": "HLTX01_SYS"

      },

      "FLocalCurrId": {

        "FNumber": "PRE001"

      },

      "FExchangeRate": 1

    },

    "FPOOrderEntry": [

      {

        "FPKIDX": 107076,(B代表修改明细,所以要填入原订单对应行的分录id,不能为空)

        "FCHANGETYPE": "B",

        "FMaterialId": {

          "FNumber": " 0.001"

        },

        "FQtyX": 20,

        "FQty": 10,

        "FDeliveryDate": "2022-01-12",

        "FTaxPriceX": 5,

        "FTaxPrice": 3

      },

      {

        "FPKIDX": 0,(A代表新增明细,所以没有原订单对应行的分录id,此处填0)

        "FCHANGETYPE": "A",

        "FMaterialId": {

          "FNumber": " 0.001"

        },

        "FQtyX": 1,

        "FQty": 1,

        "FDeliveryDate": "2022-01-12",

        "FTaxPriceX": 1,

        "FTaxPrice": 1,

        "FEntryDiscountRate": 0,

        "FEntryTaxRate": 13,

        "FRequireOrgId": {

          "FNumber": "00"

        },

        "FReceiveOrgId": {

          "FNumber": "00"

        },

        "FEntrySettleOrgId": {

          "FNumber": "00"

        },

        "FGiveAway": "false"

      }

    ]

  }

}

注意事项说明:

  1. 注意单据头、财务信息、明细信息等对象中的原始主键字段,分别为FPKIDX_H、FPKIdX_F、FPKIDX

    我们系统的新变更单是继承采购订单的,在新变更单的每个实体对象加上了原始主键字段,用于绑定对应原订单对象的主键字段(PS:单据头对单据头,财务信息对财务信息,明细信息行对行),生效时,直接根据原始主键更新原订单。

    所以,单据头的FPKIDX_H、财务信息FPKIdX_F肯定是不为0的,明细信息的FPKIDX只有在FCHANGETYPE为:A的时候可以为0,其余变更类型FPKIDX字段均不为0。

  2. 新变更单的单号和版本号怎么传?

    目前系统不会自动生成,标准做法应该是先调用单据查询接口获取原订单的版本号比如"000",在此基础上+1得到"001"。

    那么新变更单的版本号为"001",单据编号为:原订单编号_V新版本号,如:

          "FVersionNo": "001",  "FBillNo": "CGDD002796_V001"

    新变更单的版本号生效时会反写回原订单的,所以版本号必须传,否则会影响原订单的下一次变更以及变更查询功能。

  3. 如何查询上游采购订单的单据FID、明细体分录id、财务业务分录id、订单初始版本号呢?

    WebAPI如何查询单据体分录内码 (kingdee.com)

{
  "data": {
    "FormId": "PUR_PurchaseOrder",
    "FieldKeys": "FBILLNO,FID,FPOOrderEntry_FEntryid,FPOOrderFinance_FEntryid,FVersionNo",
    "FilterString": "FBILLNO='CGDD002796'",
    "OrderString": "",
    "TopRowCount": 0,
    "StartRow": 0,
    "Limit": 0,
    "SubSystemId": ""
  }
}


自测截图:

image.png

image.png

image.png

image.png

image.png

更多知识:

  1. 官方API交流QQ群:857982100

  2. 【webapi】通过保存接口,实现采购订单-采购入库单关联的一些核心字段讲解(附带测试JSON) (kingdee.com)

  3. 【webapi】利用保存接口实现修改收料通知单批号字段 (kingdee.com)




赞 28