【分步式调出单】WebAPI保存仓位构造【分享】
金蝶云社区-云社区用户4u731234
云社区用户4u731234
3人赞赏了该文章 3,166次浏览 未经作者许可,禁止转载编辑于2016年12月08日 15:54:28

写本地子目的是想说明WebAPI 仓位的保存构造。

测试环境:蓝海帐套 打到了6.X 2016-10-27 PT108346 的补丁。

具体的Json字串:
(该是蓝海数据中心,打了6.X 2016-07-22 PT105859 及之后的补丁,直接拷贝下面给的字串,都可以正常保存调用此给的字串)
[code]{
"Creator": "",
"NeedUpDateFields": [],
"Model": {
"FID": "0",
"FBillNo": "hola001",
"FOwnerTypeIdHead": "BD_OwnerOrg",
"FBillTypeID": {
"FNumber": "FBDC01_SYS",
"FName": "标准分步式调出单"
},
"FTransferBizType": "InnerOrgTransfer",
"FOwnerIdHead": {
"FNumber": "101.2"
},
"FOwnerTypeInIdHead": "BD_OwnerOrg",
"FTransferDirect": "GENERAL",
"FOwnerInIdHead": {
"FNumber": "101.2"
},
"FStockOrgID": {
"FNumber": "101.2"
},
"FStockInOrgID": {
"FNumber": "101.2"
},
"FDate": "2016-12-08 00:00:00",
"FBaseCurrID": {
"FNumber": "PRE001"
},
"FVESTONWAY": "A",
"FSTOCKERID": {
"FNumber": ""
},
"FSTOCKERGROUPID": {
"FNumber": ""
},
"FNOTE": "",
"FBizType": "NORMAL",
"FScanBox": "",
"FCustID": {
"FNumber": "CUST0006"
},
"FSUPPLIERID": {
"FNumber": "VEN00007"
},
"FSTKTRSOUTENTRY": [
{
"FEntryID": "0",
"FMaterialID": {
"FNumber": "2.201.01.001"
},
"FQty": 50,
"FUnitID": {
"FNumber": "kg"
},
"FLOT": {
"FNumber": ""
},
"FSrcStockID": {
"FNumber": "CK009"
},
"FSrcStockLocId": {
"FSrcStockLocId__FF100001": {
"FNumber": "10"
}
},
"FBOMID": {
"FNumber": ""
},
"FSrcStockStatusID": {
"FNumber": "KCZT01_SYS"
},
"FDeliChkQualifyType": "",
"FDestStockStatusID": {
"FNumber": "KCZT05_SYS"
},
"FOwnerTypeInID": "BD_OwnerOrg",
"FBusinessDate": "2016-12-08 00:00:00",
"FEntryNote": "",
"FOwnerInID": {
"FNumber": "101.2"
},
"FKeeperTypeInID": "BD_KeeperOrg",
"FKeeperInID": {
"FNumber": "101.2"
},
"FDestMaterialID": {
"FNumber": "2.201.01.001"
},
"FBaseUnitID": {
"FNumber": "kg"
},
"FExtAuxUnitId": {
"FNumber": ""
},
"FExtAuxUnitQty": 0,
"FOwnerTypeID": "BD_OwnerOrg",
"FOwnerID": {
"FNumber": "101.2"
},
"FKeeperTypeID": "BD_KeeperOrg",
"FKeeperID": {
"FNumber": "101.2"
},
"FQmEntryId": 0,
"FConvertEntryId": 0
}
]
}
}[/code]

其中的Json字串部分
[code]"FSrcStockID": {
"FNumber": "CK009"
},
"FSrcStockLocId": {
"FSrcStockLocId__FF100001": {
"FNumber": "10"
}
}[/code]
就是给仓库及仓位赋值。

实际功能:
如果选择的仓库“启用仓位管理”的,
选择仓库后,相应仓位也是需要设定的值的,
界面上是选择界面,直接选择相应的值即可,
界面上仓位不填值,同样会给出提示。

如果是WebAPI传入的值,解析不到相应的仓位时,同样会报界面中一样的错误提示消息。
仓位字段不填值,或给一个错误的仓位编码出现的提示。


这里可以看出WebAPI会与界面是同一套验证提示,是完全一致的。

那么我们给的仓位字段的编码值是怎么来的呢?
[code]"FSrcStockLocId": {
"FSrcStockLocId__FF100001": {
"FNumber": "10"
}
},[/code]如这串Json片段的"FNumber": "10" ,
这里的10编码是怎么来的呢?

当我们从界面上录入选择仓位时,可以看到弹出界面的“区”维度A、B、C 三个备选项。


界面录入时显示的是名称,
我们就需要打开【仓位值集】,
可以看到A、B、C, 分别对应的编码为10、20、30,

也就是Json字串中给的10,
最终显示要该为仓位“A”。

此条WebAPI保存后,界面打开看到的效果:
仓位确实是“A”

OK
分享结束
谢谢。