从序列生成日记账编号
项目描述
在Odoo版本13.0及以前的版本中,日记账编号是从日记账上配置的序列生成的。
在Odoo版本14.0中,用户可以手动设置日记账编号。然后,同一日记账中下一个日记账编号的计算是由一个复杂的代码片段完成的,该代码片段从用户手动输入的日记账编号中猜测日记账编号的格式。它有几个缺点
序列的可选项有限,
在部署到生产之前无法提前配置序列,
由于容易出错,他们添加了一个Resequence向导来重新生成日记账编号,这在许多国家可能被视为非法,
处理此问题的代码片段不易理解,且难以调试。
从Odoo>=v14.0开始,由于锁定日记账的最后一条记录以获取新编号,导致新的并发问题,甚至仅创建草稿日记账时也会锁定最后一条记录,这适用于所有会计日记账条目
例如。
客户发票
贷项通知
客户付款
供应商发票
供应商退款
供应商付款
手动日记账条目
然后,现在频繁出现以下并发错误
编辑用于从另一个进程获取新编号的最后一条记录
创建新的草稿发票/付款(不仅在过账时)
创建创建发票然后付款或反之的事务会引发死锁错误
调整最后一条记录可能是一个耗时的过程
同时创建2个或更多发票/账单
同时创建2个或更多支付(即使您的国家允许放宽此类文档的间隔,您也无法再更改实现以符合标准)
同时创建2个或更多日记账条目
这些并发错误增加导致更多问题,因为Odoo并未为此做好准备
使用配置了“订单发票策略”和“自动发票”的电子商务,即使已经完成支付,门户用户仍会在结账时看到错误,销售订单可能处于草稿状态并请求新的支付,从而导致双重收费
使用 subscription_template.payment_mode=success_payment,您将看到带有“支付异常”标签的订阅
使用会计创建发票或支付时,您将看到错误,然后您需要重复启动流程,直到在另一个用户之前获得锁
由于它可能正在等待释放,因此工作人员可以使用比以前更长时间,支持或显示加载页面的并发用户更少,这会影响性能
新的会计编号是一个显著的瓶颈
如果您不相信所有这些问题都发生了,我们创建了以下问题和单元测试,以在v14.0中重现错误,包括死锁,但不包括v13.0
使用此模块,您可以配置可能放宽间隔的文档类型,即使您必须在公司或国家使用无间隔,该模块也会使用额外的表(ir_sequence)而不是锁定最后一条记录来减少并发问题
对于像我这样的人,他们认为Odoo v14.0之前的实现要好得多,对于认为不应手动输入客户发票序列号的会计人员,对于认为重新排序日记账条目违反法律的审计员来说,此模块可能是摆脱噩梦的解决方案。
此模块用于在日记账上配置序列的字段名称与Odoo版本13.0及之前版本完全相同。这样,如果您迁移到Odoo版本14.0并在迁移后立即安装此模块,您应该保持以前的行为,并继续使用相同的序列。
该模块删除了对日记账条目上的“重新排序”向导的访问权限。
目录
配置
在账户日记账的表单视图中,在第一个选项卡中,有一个many2one链接到序列。当您创建新的日记账时,您可以保持此字段为空,并在保存日记账时自动创建新的序列。
在销售和采购日记账中,您还有一个附加选项,可以使用另一个专门用于退款序列的序列。
模块安装后,所有现有的日记账都将更新为日记账条目序列(以及销售和采购日记账的贷项通知序列)。您应更新序列配置以满足您的需求。如果您不希望具有贷项通知序列,可以取消选中现有销售和采购日记账上的“专用贷项通知序列”选项。对于已经具有日记账条目的日记账,您应更新序列配置,以避免下一日记账条目编号的不连续。
错误跟踪器
错误跟踪在GitHub Issues。如有问题,请先查看是否已有报告。如果您是第一个发现,请提供详细且受欢迎的反馈,帮助我们解决问题。
请不要直接联系贡献者以获取支持或技术问题的帮助。
鸣谢
贡献者
Alexis de Lattre <alexis.delattre@akretion.com>
Moisés López <moylop260@vauxoo.com>
Francisco Luna <fluna@vauxoo.com>
维护者
本模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
当前维护者
本模块是GitHub上的OCA/account-financial-tools项目的一部分。
欢迎您贡献力量。有关如何贡献的信息,请访问https://odoo-community.org/page/Contribute。
项目详情
odoo14_addon_account_move_name_sequence-14.0.1.4.5-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aabd7c14f63b5668392338a28f50e8b9c5c43dc0425bb3787179b3dbb089ed52 |
|
MD5 | 24feedb309cdbb079df102aa26daaff1 |
|
BLAKE2b-256 | eaa47b2286cc8b825d901b861bbe1deffc9d2e3d62fb2ce987099f05339e0182 |