首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ParallelSaveError:同一张单据不能多次并行保存

ParallelSaveError是一个错误类型,表示同一张单据不能多次并行保存。

在开发过程中,当多个并发请求同时尝试保存同一张单据时,可能会出现ParallelSaveError。这是因为并行保存可能导致数据不一致或冲突的情况发生。

为了解决这个问题,可以采取以下几种方法:

  1. 引入并发控制机制:可以使用锁或者乐观锁等并发控制机制来确保同一时间只有一个请求可以保存该单据。这样可以避免并行保存导致的数据冲突。
  2. 使用事务:在保存单据的过程中,可以将操作放在一个事务中进行。事务可以保证在并发情况下的数据一致性,如果有多个请求同时尝试保存同一张单据,只有一个请求能够成功提交事务,其他请求会被回滚。
  3. 设计合理的数据模型:在设计单据的数据模型时,可以考虑将单据的保存操作拆分为多个步骤,避免并行保存的需求。例如,可以将保存单据的过程分为创建和更新两个步骤,创建时只允许一个请求进行,更新时可以并行处理。

对于腾讯云的相关产品和服务,可以考虑使用以下产品来支持并发保存的需求:

  1. 腾讯云数据库(TencentDB):提供了高可用、高性能的数据库服务,可以支持并发保存操作。具体可以使用腾讯云数据库MySQL版或者腾讯云数据库PostgreSQL版等。
  2. 腾讯云云函数(SCF):可以使用云函数来处理并发保存的请求,通过函数的并发控制和事务支持来保证数据的一致性。
  3. 腾讯云分布式缓存(Tencent Distributed Cache,TDC):可以使用分布式缓存来缓解并发保存带来的压力,提高系统的性能和并发能力。

以上是对于ParallelSaveError错误的解释和解决方法,希望能对您有所帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

K3问题总结和解决方法

解决方法外购入库单无币别判断,只能取到本位币的报价,同一供应商同一物料在不同时间段可录入多条记录,相同时间段只能录入一条记录。...三八、问题描述自定义单据权限在哪里设置 解决方法在用户管理的供应链系统公用设置的自定义单据的使用权限授予即可。 三九、问题描述通过远程终端登录客户端,系统提示客户端与中间层不能同一台机器上?...四八、问题描述从另一账套中引入的报表不能保存,提示没有权限!...七四、问题描述通过远程终端登录客户端,系统提示客户端与中间层不能同一台机器上?...一二六、问题描述单据保存时可以自动审核吗? 解决方法:系统参数维护,单据设置,修改单据参数设置,选择单据保存时自动审核。 一二七、问题描述 手工录入单据编号如何设置?

5K31

k3 Bos开发百问百答

【摘要】单据分录数达到3000条,单据保存会不会出错? 版本:K310.2SP2 问题描述:因为业务需要,可能一单据的分录数达到2000-3000条,这样的BOS开发的单据保存时是否有问题?...但单据流程审核结束后修改按钮灰显,用户只能通过查看按钮进入,因此时整单状态为查看,用户不能修改该单据任何内容。...最不方便使用的是在单据定义时,一旦添加上字段之后便不能删除,否则便会将单据上的所有字段全部删除。新增的单据、多级审核流程、单据转换流程保存后也不能删除。...Bos单据单据B1与B2为钩稽关系,B1为上级单据:新建并保存和审核一B1,然后新建B2整单关联B1,然后保存和审核B2,此时B1仍然可以被反审核。这样业务流程也发生了混乱。...实际中有这样的需求:某单据的制单人与审核人为同一人,而反审核人为另一人,目前的K/3 10.2无法实现,原来在10.1是可以的。这个需求怎么处理?

4.6K30
  • 发版验收测试该注意的事情

    ; 二、并发测试的重要性 对于事务并发测试,在一些比较关注数据的项目中显的尤为重要,尤其是一些电子商务网站,ERP软件等;大的方面主要包括:同时新增(主要看唯一性验证);对同一数据同时修改保存;对同一数据一方删除...操作员A做现销业务,冲减该客户001预收款80元,未保存; 操作员B做现销业务,冲减该客户001预收款60元,未保存; 此时在A、B两个【提交】 正确的结果是:应该只有一方成功,另一方给出合理提示信息...乙售票点(乙事务)读出同一航班的机票余额A,也为16. 甲售票点卖出一机票,修改余额A←A-1.所以A为15,把A写回数据库....乙售票点也卖出一机票,修改余额A←A-1.所以A为15,把A写回数据库. 结果明明卖出两机票,数据库中机票余额只减少1。...三、单据的复制功能 ERP的复制往往是对一个单据的复制,单据复制时就应该考虑是否复制了不该复制的数据(如:单据号、单据状态、单据审核信息等),一般主要测试时关注以下两点: 复制后字段唯一性检查; 复制后带过来数据检查

    86220

    张三要改单,李四要审核,谁说了算!愁坏了软件开发小五。

    假设张三填制了一销售出库单已保存保存后发现单据有错误或不完整,点了修改按钮开始修改。 李四有审批权限,在自己的电脑上看到了这张销售单,点了审批同意按钮签了字。...张三修改了错误,又增加了几个单品,用时较长,修攻完成后点了保存按钮。 张三修改后保存时,其实李四已经在张三修改期间审批签过字了。 这就造成,李四审批或审核签字前后的单据是不一样的。...审批是如此,打印也是如此,李四打印出的单据与电脑里保存单据不一致。财务过账也是如此,记账凭证与原始单据不一致。 狐友会微信群里面讨论非常热烈,大家提出了很多自己的看法。...如果李四先于张三打开了单据,张三连打开这张单据都不行,同一时刻只有一单据可以被操作。反之亦然。...事务开始 加锁 事务结束 也有人喜欢用一表来记录张三和李四的操作,控制谁先谁后的问题,但这样会存在,张三打开了单据,张三掉线了,但单据还是张三的编辑状态,这样必须等张三上线,重新打开单据,再退出单据

    55720

    高并发业务下的库存扣减方案

    因为正常要求 Lua 脚本操作的键必须在同一个 slot 中。...1.4.2 处理方案有两种:追加对账,定期校验hot_deduction_history中数据对应单据的状态,对于已经取消的单据追加一次回滚请求,存在时延(业务不一定接受)以及额外计算资源开销使用顺序消息...无法通过分库分表提高请求的并行度。而在单节点场景,数据库吞吐远不如Redis。最基础的原因:IO效率不是一个量级,DB是磁盘操作,而且还可能要多次读盘,Redis是一步到位的内存操作。...有些优化思路,如合并扣减,走批降低请求的并行连接数。...但伴随的集单的时延,以及按库分批的诉求;还有拆库存行,商品A100个库存拆成2行商品A50库存,然后扣减时分发请求,以提高并行连接数(多行可落在不同库来提高并行连接数)。

    12900

    大厂交易系统从0到1(01)-一笔交易到底涉及多少表?

    0 场景 在某平台购买一次家政阿姨上门保洁服务,总价120元,分2次支付,“先预付80元,再后付40元”,预付时用一20元优惠券,微信支付60元。...案例中因为用了一20元的券,所以券系统核销了该券,假设有一笔核销记录: 券编号 券类型 金额 券状态 订单号 账单流水号 Q001 代金券 ¥20.00 已使用 666 666-1-1 这条记录与账单支付记录之间建立了关联...② 支付请求 一笔支付可能请求渠道多次,因此还要建立一个支付请求的明细: 支付单号 支付请求号 支付方式 金额 支付状态 外部流水号 pay001 pay001-1 微信支付 ¥60.00 失败...逆向只是正向的反向,依然3个核心和单据维度,只是单据变成逆向单: 订单变成退单 账单变成退款账单 账单支付记录变成账单退款记录 支付单变成退款单 ... 2.1 逆向都是基于正向 没有正向单据,就没逆向单据...2.2 支付退款基于原支付单 支付核心的退款,是支付单,不能脱离原支付单,退款可: 全退 部分退 多次退 但绝不会超过原支付金额。

    9800

    接口实现幂等的几种方式

    f(n) = 1^n // 无论n等于多少,f(n)永远值等于1 一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。...在涉及外部系统调用或者提供接口给其他系统调用的时候,实现接口的幂等是很有必要的,比如某个单据业务在不同的系统中都有各自的状态机,如果接口不幂等,外部系统稍微重试或者接口调用顺序乱序,就会导致单据数据出错...查询操作 查询一次和查询多次,在数据不变的情况下,查询结果都是一样的,select 是天然的幂等操作。 2. 删除操作 删除操作也是幂等的,删除一次和删除多次都是把数据删除。 3....要注意的是,某个长流程处理过程要求不能并发执行,可以在流程执行之前根据某个标志(用户 ID + 后缀等)获取分布式锁,其他流程执行时获取锁就会失败,也就是同一时间该流程只能有一个能执行成功,执行完成后,...,却来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。

    33530

    解析大型.NET ERP系统 20条数据库设计规范

    6 单据引用键命名 SourceRefNo SourceEntryNo 销售送货Shipment会引用到是送哪销售单据的,可以添加如下引用键SourceRefNo,SourceEntryNo,表示送货单引用的销售单的参考编号和行号...当手工创建一出仓单时,将DirectEntry设为true,表示可编辑单据中的字段值,当由其它单据传递产生过来产生的出仓单,将DirectEntry设为false,表示不能编辑此单据。...15 日志表记录编号LogNo字段设计 LogNo字段的设计有些巧妙,以出仓单为例子,一出仓单有5行物料明细,每一行物料出仓都会扣减库存,再写物料进出日记帐,因为这五行物料出仓来自同一个出仓单,于是将这五行物料的日记帐中的...LogNo都设为同一个值。...于在查询数据时,以这个字段分组即可看到哪些物料是在同一个时间点上出仓的,对快速查询有很重要的作用。

    2.5K70

    如何保证接口幂等性?

    首先看看幂等性的概念:幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。...比如下面这些情况,如果没有实现接口幂等性会有很严重的后果:支付接口,重复支付会导致多次扣钱 ;订单接口,同一个订单可能会多次创建。为什么会产生接口幂等性问题?...要点:某个长流程处理过程要求不能并发执行,可以在流程执行之前根据某个标志(用户ID+后缀等)获取分布式锁,其他流程执行时获取锁就会失败,也就是同一时间该流程只能有一个能执行成功,执行完成后,释放分布式锁...状态机幂等在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态...,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。

    70920

    面试官:如何保证接口幂等性?一口气说了12种方法!

    首先看看幂等性的概念: 幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。...比如下面这些情况,如果没有实现接口幂等性会有很严重的后果:支付接口,重复支付会导致多次扣钱 ;订单接口,同一个订单可能会多次创建。 为什么会产生接口幂等性问题?...要点:某个长流程处理过程要求不能并发执行,可以在流程执行之前根据某个标志(用户ID+后缀等)获取分布式锁,其他流程执行时获取锁就会失败,也就是同一时间该流程只能有一个能执行成功,执行完成后,释放分布式锁...状态机幂等 在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态...,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。

    1.8K20

    SQL递归查询知多少

    最近工作中遇到了一个问题,需要根据保存的流程数据,构建流程图。...数据库中保存的流程数据是树形结构的,表结构及数据如下图: 仔细观察表结构,会发现其树形结构的特点: FFIRSTNODE:标记是否为根节点 FSTABLENAME:标记来源单据名称 FSID:标记来源单据分录...ID FTTABLENAME :标记目标单据名称 FTID:标记目标单据分录ID 图中的流程为: 销售合同-->销售订单-->发货通知单-->销售出库单 首先想到的办法就是把流程数据取回来,然后代码构造流程图...因为任何一个源头单据都可以多次下推目标单据: 第二个思路:先找到终极节点,在从终极节点往上找只至根节点为0。 这个思路实现起来也没有那么复杂,逻辑理清,循环遍历,最终也能实现结果。...在同一语句中多次引用生成的表。

    4.5K80

    大型.NET ERP系统的20条数据库设计规范

    6 单据引用键命名 SourceRefNo SourceEntryNo 销售送货Shipment会引用到是送哪销售单据的,可以添加如下引用键SourceRefNo,SourceEntryNo,表示送货单引用的销售单的参考编号和行号...当手工创建一出仓单时,将DirectEntry设为true,表示可编辑单据中的字段值,当由 其它单据传递产生过来产生的出仓单,将DirectEntry设为false,表示不能编辑此单据。...15 日志表记录编号LogNo字段设计 LogNo字段的设计有些巧妙,以出仓单为例子,一出仓单有5行物料明细,每一行物料出仓都会扣减库存,再写物料进出日记帐,因为这五行物料出仓 来自同一个出仓单,于是将这五行物料的日记帐中的...LogNo都设为同一个值。...于在查询数据时,以这个字段分组即可看到哪些物料是在同一个时间点上出仓的, 对快速查询有很重要的作用。

    1.3K60

    MySQL事务隔离级别

    3、隔离性(Isolation):并行执行的两个事务的中间状态相互不可见 4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。...事务的并发问题 脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务...A多次读取同一数据时,结果 不一致。...补充 事务隔离级别为读提交时,写数据只会锁住相应的行 事务隔离级别为可重复读时,如果检索条件有索引(包括主键索引)的时候,默认加锁方式是next-key 锁;如果检索条件没有索引,更新数据时会锁住整表...一个间隙被事务加了锁,其他事务是不能在这个间隙插入记录的,这样可以防止幻读。 事务隔离级别为串行化时,读写数据都会锁住整表 隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。

    1.1K30

    【SAP MM系列】SAP同一公司不同工厂间物料转储方案比较

    同一公司不同工厂间物料调拨是实际业务中经常遇到的问题,对于如何解决不同工厂间调拨物料需求传递这个问题,SAP提供了两种解决方案:1)UB单--需求工厂向供给工厂开一UB类型采购订单;2)在物料主数据需求工厂...优点:系统自动传递需求,不需建其他单据 缺点:应用有一定限制—如不能做审批、运费等。 数据:对需求工厂MRP视图需建立,MRP2视图中特殊采购类需设置为40。...优点:系统自动传递需求,不需建其他单据 缺点:应用有一定限制—如不能做审批、运费等。 数据:对需求工厂MRP视图需建立,MRP2视图中特殊采购类需设置为40。

    2K40

    什么是接口幂等性?为什么会产生接口幂等性问题?如何保证接口幂等性?

    首先看看幂等性的概念: 幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。...比如下面这些情况,如果没有实现接口幂等性会有很严重的后果: 支付接口,重复支付会导致多次扣钱 ;订单接口,同一个订单可能会多次创建。 ? 为什么会产生接口幂等性问题?...要点:某个长流程处理过程要求不能并发执行,可以在流程执行之前根据某个标志(用户ID+后缀等)获取分布式锁,其他流程执行时获取锁就会失败,也就是同一时间该流程只能有一个能执行成功,执行完成后,释放分布式锁...状态机幂等 在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态...,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。

    1.4K20

    关于高并发和分布式中的幂等处理【转】

    用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的 举几个例子: 1.比如前端对同一表单数据的重复提交,后台应该只会产生一个结果。...3.比如发送消息,也应该只发一次,同样的短信如果多次发给用户,用户会崩溃。 4.比如创建业务订单,一次业务请求只能创建一个,不能出现创建多个订单。...状态机幂等 在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态...,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。...注意:订单等单据类业务,存在很长的状态流转,一定要深刻理解状态机,对业务系统设计能力提高有很大帮助。

    1.4K20

    我们来谈下高并发和分布式中的幂等处理

    用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的 举几个例子: 比如前端对同一表单数据的重复提交,后台应该只会产生一个结果 比如我们发起一笔付款请求,应该只扣用户账户一次钱,...当遇到网络重发或系统bug重发,也应该只扣一次钱 比如发送消息,也应该只发一次,同样的短信如果多次发给用户,用户会崩溃 比如创建业务订单,一次业务请求只能创建一个,不能出现创建多个订单 还有很多诸如此类的...状态机幂等 在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态...,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。...注意:订单等单据类业务,存在很长的状态流转,一定要深刻理解状态机,对业务系统设计能力提高有很大帮助。

    53330

    我们来谈下高并发和分布式中的幂等处理

    用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的 举几个例子: 1.比如前端对同一表单数据的重复提交,后台应该只会产生一个结果 2.比如我们发起一笔付款请求,应该只扣用户账户一次钱...,当遇到网络重发或系统bug重发,也应该只扣一次钱 3.比如发送消息,也应该只发一次,同样的短信如果多次发给用户,用户会崩溃 4.比如创建业务订单,一次业务请求只能创建一个,不能出现创建多个订单 还有很多诸如此类的...状态机幂等 在设计单据相关的业务,或者是任务相关的业务,肯定会涉及到状态机(状态变更图),就是业务单据上面有个状态,状态在不同的情况下会发生变更,一般情况下存在有限状态机,这时候,如果状态机已经处于下一个状态...,这时候来了一个上一个状态的变更,理论上是不能够变更的,这样的话,保证了有限状态机的幂等。...注意:订单等单据类业务,存在很长的状态流转,一定要深刻理解状态机,对业务系统设计能力提高有很大帮助。

    39300

    浅谈幂等

    在计算机科学中,幂等即相同的请求调用一次和调用多次,服务端处理的的结果相同,并且最多受理一次。 幂等的重要性 我们就拿支付公司的资金调拨举个例子。...服务端的接口文档中,需要明确指出幂等号的信息组成,它的作用是对请求信息进行身份标识,相同幂等号的请求将被服务端识别为同一请求。...幂等原则 调用方必须保证幂等号的唯一性、不变性 说明 调用方需要保证幂等号不重复,且对同一业务单据同一次操作,无论请求多少次,都要保证幂等号不变。...客户端修改单据金额,请求信息发生变化,调用方与服务端处理出错。...服务端不能单纯依赖查询做幂等 说明 分布式下并发场景,并不能单纯的依赖查询做到插入 幂等。

    25220
    领券