SuiteCRM 二次开发:合同金额与默认货币合同金额的区别

发布时间: 2024-03-28 09:38:46 作者: 大象笔记

在通过 logic hook 开发 SuiteCRM 合同回款率计算功能时,遇到一个疑问:

为何合同模块有两个合同金额字段?在计算回款率时,我应该使用哪个作为合同金额计算的参考呢?

这两个字段在数据库的 aos_contracts 表中就能看到,在 admin 的工作室功能中也能看到。

同时,可以看到所有钱相关的字段,都是用了两个字段表示。即便加上了更多的币种,比如人民币,美元,欧元等,也是这两个字段。有 usdollar 后缀的字段,就是默认货币。

实测数据

通过实际测试数据,更容易理解一点。

比如,新建一个合同,设置合同金额的币种为美元,金额为 1000。

然后在数据库中就会看到:

这样就很清楚了。

结论

合同模块中的金额字段都是成对出现的。

有个金额,及默认金额。

金额就是界面上看到金额,不管是人民币、美元、欧元。

而存储的时候,实际上存储了两份,就是多了一个默认金额的自动转换。

比如,存储 2000 美元的合同金额,在数据库中还会存储一个乘以汇率之后的人民币金额 (因为目前系统的默认货币是人民币)

计算回款率时,直接使用合同金额作为分母即可,忽略默认金额。

没用的知识又增加了 : )

我是一名山东烟台的开发者,联系作者