说明:IsDeleteEntry是在修改单据时控制单据体是否需要删除, 默认值为true,代表删除没有传入内码的分录。特别需要注意一点的是,如果没有使用NeedUpdateFields控制,则是根据传入数据包来处理,比如有单据体1和单据体2,如果数据包只传入单据体1,则不会处理单据体2 。
示例:假设一张内码为1001的单据,存在分录内码为10001,10002 两行的单据体1,和存在分录内码为20001,20002两行的单据体2.
1, 修改单据体1内码为10001的行,其他不变
{ "IsDeleteEntry": "false",
"Model": {
"FID": 1001,
"FEntity1": [
{
"FEntryID": 10001,
"FQty": 22
}
] }
}
2, 修改单据体1内码为10001的行,单据体1内码为10002的行删除
{ "IsDeleteEntry": "true",
"Model": {
"FID": 1001,
"FEntity1": [
{
"FEntryID": 10001,
"FQty": 22
}
] }
}
3, 删除单据体1所有分录
{ "IsDeleteEntry": "true",
"Model": {
"FID": 1001,
"FEntity1": [
{
}
] }
}
4,新增单据体1一行新分录, 删除单据体1所有旧所有分录
{ "IsDeleteEntry": "true",
"Model": {
"FID": 1001,
"FEntity1": [
{
"FQty": 22
}
] }
}
5,删除单据体1和单据体2所有的分录
{ "IsDeleteEntry": "true",
"Model": {
"FID": 1001,
"FEntity1": [
{ }
],
"FEntity2": [
{ }
]}
}
6,删除单据体1所有分录,修改单据体2分录1并新增一条分录
{ "IsDeleteEntry": "true",
"Model": {
"FID": 1001,
"FEntity1": [
{ }
],
"FEntity2": [
{ //修改分录
"FEntryID": 20001,
"FQty": 22
},
{ //保存分录不变
"FEntryID": 20002
},
{ //新增一条分录
"FQty": 22
},
]}
}
推荐阅读