如何通过WebApi构建生产入库单?
Posted liangyuwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过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"
}]
}
]
}
}
以上是关于如何通过WebApi构建生产入库单?的主要内容,如果未能解决你的问题,请参考以下文章