如何通过WebApi构建生产入库单?

https://vip.kingdee.com/article/12757

近期很多小伙伴都是通过WebApi的方式导入生产入库单,会出现各种不同的报错,下面我就关于构建生产入库单的Json数据几个需要注意的点,简单说下。

       首先由于标准产品的生产入库单手工新增仅支持联副产品,所以导致小伙伴们构建的json数据,物料是主产品的话是无法保存的,在这里开放了开关进行控制,在构建json数据的时候,需要将表体FIsNew字段根据产品类型字段赋值,物料是主产品的 FIsNew 的值为false,物料是联副产品,FIsNew的值为true,由于生产入库单是要和生产订单关联的,所以还需要构建LK信息表,如下图:

具体字段赋值可以参照下生产订单下推生产入库单,然后通过对比生成的生产入库单里面的LK信息进行构建。

另外要保证保存的生产入库单进行正常业务进行,除了必录的,还需要对以下字段进行赋值,且下列字段需要放到物料编码之前赋值。

表体字段:

  生产订单编号(FMoBillNo)

  生产订单内码(FMoId)

  生产订单分录内码(FMoEntryId)

  生产订单行号(FMoEntrySeq)

  源单分录内码(FSrcEntryId)

  源单类型(FSrcBillType)

  源单内码(FSrcInterId)

  源单编号(FSrcBillNo)

  源单行号(FSrcEntrySeq)

 其他字段赋值可以参照具体业务单据下推生产入库单,获取生成之后生产入库单json,对比赋值。

注意:多行入库单请将webapi中参数IsEntryBatchFill设置为false

 

 

 

参考json实例(着重注意下字段顺序

 

{

    "Model": {

        "FDate": "2019-09-25 00:00:00",

        "FPrdOrgId": {

            "FNumber": "100"

        },

        "FBillType": {

            "FNUMBER": "SCRKD02_SYS"

        },

        "FStockOrgId": {

            "FNumber": "100"

        },

        "FOwnerId0": {

            "FNumber": "100"

        },

        "FEntity": [

            {

"FInStockType": "1",

    "FIsNew": "false",

                "FProductType": "1",

                "FMustQty": 2,

                "FRealQty": 2,

                "FMoId": "100046",

                "FMoEntryId": "100046",

                "FMoEntrySeq": "1",

                "FSrcEntryId": "100046",

                "FSrcBillType": "PRD_MO",

                "FSrcInterId": "100046",

                "FSrcBillNo": "MO000030",

                "FSrcEntrySeq": "1",

                "FMaterialId": {

                    "FNumber": "CH4442"

                },

    "FUnitID": {

                    "FNumber": "Pcs"

                },

                "FBaseUnitId": {

                    "FNumber": "Pcs"

                },

                "FWorkShopId1": {

                    "FNumber": "BM000001"

                },

               

              

                "FOwnerId": {

                    "FNumber": "100"

                },

                "FStockId": {

                    "FNumber": "CK001"

                },

               "FMoBillNo": "MO000030",

                "FStockStatusId": {

                    "FNumber": "KCZT01_SYS"

                },

               "FKeeperTypeId": "BD_KeeperOrg",

                "FKeeperId": {

                    "FNumber": "100"

                },

               

         "FEntity_Link":[{                                

                               "FEntity_Link_FRuleId": "PRD_MO2INSTOCK",

                               "FEntity_Link_FSTableName": "T_PRD_MOENTRY",

                               "FEntity_Link_FSBillId": "100046",

                               "FEntity_Link_FSId": "100046",                            

                                "FEntity_Link_FFlowId":"f11b462a-8733-40bd-8f29-0906afc6a201",

                                "FEntity_Link_FFlowLineId":"f11b462a-8733-40bd-8f29-0906afc6a201"

                                }]

            }

        ]

    }

}

 
原文地址:https://www.cnblogs.com/liangyuwen/p/13266183.html