电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-2350

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

【WEBAPI】保存接口,实现采购订单-采购入库单关联的一些核心字段讲解(附测试JSON)



背景:

  1. 下推接口:只能整单数量下推,无法灵活控制做到分批数量入库

  2. 保存接口:与相应的上游单据关联,可以实现分批入库

  3. 官方API交流QQ群:857982100



简单的JSON示例:

    以下是总结的采购入库单上比较核心的一些字段

    有时候用采购入库单保存接口来关联对应上游的采购订单【报错】或【没关联成功】或【没反写成功】

    就是字段错误赋值或格式不对或不满足业务


{
  "Model": {
    "FID": 0,
    "FBillNo": "",
    "FBillTypeID": {
      "FNUMBER": "RKD01_SYS"
    },
    "FBUSINESSTYPE": "CG",
    "FStockOrgId": {
      "FNumber": "100"
    },
    "FPurchaseOrgId": {
      "FNumber": "100"
    },
    "FSupplierId": {
      "FNumber": "051101"
    },
    "FDATE": "2022-05-26",
    "FInStockEntry": [
      {
        "FMaterialID": {
          "FNumber": 0.001
        },
        "FStockId": {
          "FNumber": "0.001"
        },
        "FRealQty": 1,
        "FTAXPRICE": "¥3.330000",
        "FPOOrderNo": "CGDD002542",
        "FPOORDERENTRYID": "296025",
        "FSRCBILLTYPEID": "PUR_PurchaseOrder",
        "FSrcBillNo": "CGDD002542",
        "FInStockEntry_Link": [
          {
            "FInStockEntry_Link_FRuleId": "PUR_PurchaseOrder-STK_InStock",
            "FInStockEntry_Link_FSTableName": "t_PUR_POOrderEntry",
            "FInStockEntry_Link_FSBillId": "295517",
            "FInStockEntry_Link_FSId": "296025",
             --"FInStockEntry_Link_FRemainInStockBaseQtyOld":1,
	         --"FInStockEntry_Link_FRemainInStockBaseQty":1, 
	        --"FInStockEntry_Link_FBaseUnitQtyOld":1, 
	        --"FInStockEntry_Link_FBaseUnitQty":1
          }
        ]
      }
    ]
  }
}



下面一个个来解释:

【FID】:单据的唯一ID

            存数据库一般不显露出来,点击保存时自动生成,可以不给值

【FBILLNO】:单据编码

            可以自己手工赋值,也可以保存的时候让它自动生成

【FBILLTYPEID】:单据类型的编码

            不要直接填中文,一般是固定值,可以在系统的单据类型列表里找到对应的值,如:JSON中的RKD01_SYS,就是标准入库单的意思                

image.webp




FBUSINESSTYPE】:业务类型

            很多人忘填,一般不填系统就默认是标准采购

            但是呢,我们有时候是要切换为委外采购入库单这时候如果你任由系统默认赋值标准采购,那就会报错的,一般是要和单据类型一对应起来的。

        其对应的值,可以在BOSIDE的采购入库单中找到,如:上面JSON中的"CG",代表标准采购的意思。委外入库单的话就要改成"WW"了,需要注意的是字母要全大写

image.webp





【FStockOrgId】:收料组织的编码

【FPurchaseOrgId】:采购组织的编码

【FSupplierId】:供应商的编码

【FDATAE】:日期字段

 以上字段,单据上做个单子点开来就看得到了,看着业务来填就好

image.webp


image.webp




这里延申出两个问题:


1)顺序先后问题,【收料组织】字段的赋值要先于【供应商】字段

        假如你先给供应商赋值,再来给收料组织赋值,供应商也会被刷新清空。

组织>供应商

        系统的设定是你切换了组织,整个单据界面都要刷新清空一遍,这个在单据做单的时候,前端效果很容易的体现出来,但是用JSON接口做单赋值时,就很容易看不出来了。这里也是要注意的。

image.webp



2)顺序没问题,填充了为啥还时提示我供应商必填?

        这时要考虑JSON赋值的供应商编码在当前收料组织里选的到么?

        本身选不到的话还强行赋值,就会被清空。JSON保存的时候就会提示:供应商必填!其实就是没注意到这个细节!

        供应商里面有一列【使用组织】,这里的供应商是被收料组织过滤,不在这个组织下的供应商,赋值是不会成功的

image.webp





明细体(FInStockEntry)字段:

【FMaterialID】:物料的编码    

            但是和供应商的道理一样,不要把组织的赋值放到物料之后,也不要赋值这个组织下选不到的物料,不然JSON里统统会报错:物料必填!

【FStockId】:仓库的编码

            这里呢也是要注意的是,不要把仓库字段的赋值排到物料之前,各位可以去单据里录数据试试

            先录物料再录仓库是正常的,而你先录仓库再录物料,会发现仓库被清空了,JOSN这里的赋值是一个道理

【FRealQty】:实收数量

【FTAXPRICE】:含税单价

FPOOrderNo】:订单编号

        这个值填充的是上游的采购订单单据编号,对后续的业务有用

        【采购订单-采购入库单】下推做单过程中,系统单据转换会自动赋值携带到采购入库单上,不用手工赋值。

         但现在因为是用保存接口,用JSON赋值的方式来构建采购入库单并且关联上游采购订单,这里就需要我们自己填充了,系统也没办法自动赋值。

        举个例子:如果是委外采购入库单,采购入库单的保存校验就要校验这个字段,没填充的话,就会报错:委外业务类型的入库单必须有来源委外订单!


image.webp

【FPOORDERENTRYID】:采购订单明细行的分录ID

【FSRCBILLTYPEID】:源单类型

            用于指明上游是啥单据。这里是采购订单,所以赋值:PUR_PurchaseOrder(采购订单的唯一标识)

FSrcBillNo】:源单编号

            用于指明上游的单据编号,这里时填充采购订单的单据编号


1)这里源单编号订单编号有啥区别?

            如果是从采购订单直接推下来的采购入库单,确实没啥区别,赋值是一样的

            但是,采购入库单可能是【采购订单->收料通知单->采购入库单】这个流程

            这个时候FSrcBillNo就要填充的是收料通知单的编号了


2)源单类型和源单编号这两字段很重要

            如:【采购订单-

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

【WEBAPI】保存接口,实现采购订单-采购入库单关联的一些核心字段讲解(附测试JSON)背景:下推接口:只能整单数量下推,无法灵活控制做到...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信