• 如何通过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"

                                    }]

                }

            ]

        }

    }

     
  • 相关阅读:
    打开Fiddle,提示“Machine-wide Progress Telerik Fiddler installation has been found at ...Please, use that one or uninstall it ...”
    Type Target runtime Apache Tomcat v8.0 is not defined.
    Loadrunner的安装注意事项
    11.java并发编程的艺术-java并发编程实践
    10.java并发编程的艺术-Executor框架
    9.java并发编程的艺术-java中的线程池
    8.java并发编程的艺术-java中的并发工具类
    Java并发编程的艺术-java中的13个原子操作类
    6.java并发容器和框架——Fork/Join框架
    6.java并发容器和框架——Java中的阻塞队列
  • 原文地址:https://www.cnblogs.com/liangyuwen/p/13266183.html
Copyright © 2020-2023  润新知