合并期间的规则执行

合并过程中,以预先定义的顺序执行规则。对于指定父代的每个基础子代,值维中的各种元素的计算顺序都会按以下顺序执行:

  1. 从 EntityCurrency 中清除在元数据中定义为 IsCalculated 的帐户。

  2. 从 EntityCurrAdjs 中清除在元数据中定义为 IsCalculated 的帐户。

  3. 在 EntityCurrency 上执行 Sub Calculate() 例程。

  4. 在 EntityCurrAdjs 上执行 Sub Calculate() 例程。

  5. 清除 ParentCurrency 数据。

  6. 默认转换会针对 EntityCurrency 和 EntityCurrAdjs 的总金额应用于定义为收入、费用、资产和负债的所有帐户。对于属性为“流转”或“余额”的帐户,默认情况下不应用转换,EntityCurrency 和 EntityCurrAdjs 的总金额会汇总到父货币。

  7. 执行 Sub Translate() 例程。

  8. 在 ParentCurrency 上执行 Sub Calculate() 例程。

  9. 从 ParentCurrAdjs 中清除在元数据中定义为 "IsCalculated" 的帐户。

  10. 在 ParentCurrAdjs 上执行 Sub Calculate() 例程。

  11. 从 ParentAdjs 中清除在元数据中定义为 "IsCalculated" 的帐户。

  12. 在 ParentAdjs 上执行 Sub Calculate() 例程。

  13. 清除 Proportion 和 Elimination 数据。

  14. 为 Parent 和 ParentAdjs 的总金额执行默认合并和抵销。

  15. 在 Proportion 和 Elimination 上执行 Sub Calculate() 例程。

  16. 从 ContributionAdjs 中清除在元数据中定义为 "IsCalculated" 的帐户。

  17. 在 ContributionAdjs 上执行 Sub Calculate() 例程。

对每个基本子实体重复执行上述步骤之后,会在父实体上按照以下顺序执行:

  1. 清除 EntityCurrency 数据。

  2. 将每个子实体的 Proportion、Elimination 和 ContributionAdjs 的合计之和写入到父实体的 EntityCurrency。

  3. 在 EntityCurrency 上执行 Sub Calculate() 例程。

  4. 从 EntityCurrAdjs 中清除在元数据中定义为 "IsCalculated" 的帐户。

  5. 在 EntityCurrAdjs 上执行 Sub Calculate() 例程。

    注:

    如果父代进一步合并到其他父代中,则此顺序从子代合并顺序开始继续执行步骤 5。