From 5bdd444b2e958b086383d7ecee6f09989f0cdf5a Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold.kainhofer@at.ey.com> Date: Fri, 6 Nov 2020 10:34:41 +0100 Subject: [PATCH] Fix date / interest addition of sub-blocks for contracts with multiple dynamics; --- R/InsuranceContract.R | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R index a7a1a1d..a353f2e 100644 --- a/R/InsuranceContract.R +++ b/R/InsuranceContract.R @@ -479,7 +479,7 @@ InsuranceContract = R6Class( # Override with arguments explicitly given arguments = list(...) params[names(arguments)] = arguments[names(arguments)] - params$comment = sprintf("Dynamic increase at time %d to sum %02f", t, NewSumInsured) + params$comment = sprintf("Dynamic increase at time %d to sum %0.2f", t, NewSumInsured) do.call(self$addBlock, params) }, @@ -725,6 +725,11 @@ InsuranceContract = R6Class( self$Values$basicData = consolidateField("basicData") # self$Values$basicData[,c("InterestRate", "PolicyDuration", "PremiumPeriod")] = NULL + # Some fields can NOT be summed, but have to be left untouched. + # Hard-code these to use the values from the main contract part: + self$Values$reservesBalanceSheet[,c("date", "time")] = self$blocks[[1]]$Values$reservesBalanceSheet[,c("date", "time")] + self$Values$basicData[,c("InterestRate", "PolicyDuration", "PremiumPeriod")] = self$blocks[[1]]$Values$basicData[,c("InterestRate", "PolicyDuration", "PremiumPeriod")] + invisible(self) }, -- GitLab