金蝶云星空——Webapi保存接口同时自动审核
1. 问题
期望在调用金蝶Webapi接口的新增单据的时候,同时完成提交、审核操作
2. 解决方案
webapi保存接口有个参数 IsAutoSubmitAndAudit
,用来在保存时自动提交和审核,传入保存JSON数据时传入此参数设置为true即可实现自动提交审核。
说明:为了减少接口调用,简化接口使用,但在实践中很多单据在使用此参数时会导致事务已中止的问题,这是因为此三个动作都封装在一个事务中,而每个动作又有自己的事务,事务之间相互影响,极易出问题和事务超时等。由于反馈的问题太多,单据的业务逻辑比较复杂,所以在单据保存时,不推荐使用此参数,基础资料一般还可以使用,此参数在WEBAPI说明中已经隐藏,但是目前还是可以使用,建议慎用!
处理:如果使用此参数遇到说明中的问题,建议把保存接口拆成保存,提交和审核三个动作进行调用,这样可以进一步分析是哪个步骤出现的问题。
- 参webapi实现单据保存提交和审核
- 其实这篇文章中的示例,只是分步骤调用保存,保存接口返回成功后调用提交接口,提交接口返回成功调用审核接口。
- 如果是为了保证事务的一致性,在调用每一步接口出现异常,后都要将调用相反的接口,进行逆操作。比如:审核接口失败后,那就要回滚到保存接口之前的状态
- 如下可以使用金蝶中的事务:
using (var transactionScope = new KDTransactionScope(TransactionScopeOption.Required)))
{
try
{
//执行插入代码
transactionScope.Complete();
}
catch (Exception ex)
{
Console.WriteLine("发生异常,回滚事务: " + ex.Message);
transactionScope.Rollback();
}
}
注意:参数 IsAutoSubmitAndAudit ,官方在教程中已隐藏了这个参数,不过,这个参数仍然是可以使用的。 官方特别不建议启用这个参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?