diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R index a353f2eb39f18e0e31a18a7f7b78f4691b63fa69..a11948322983594003a83415b90f5b61210a6a64 100644 --- a/R/InsuranceContract.R +++ b/R/InsuranceContract.R @@ -455,6 +455,7 @@ InsuranceContract = R6Class( if (!is.null(params$premiumPeriod)) params$premiumPeriod = max(1, params$premiumPeriod - t) if (!is.null(params$deferralPeriod)) params$deferralPeriod = max(0, params$deferralPeriod - t) if (!is.null(params$contractClosing)) params$contractClosing = params$contractClosing + years(t) + params$initialCapital = NULL # TODO: Adjust non-constant parameters (e.g. profit rates or benefits given as vector) to the later start time # TODO: Generalize this to also allow specifying dynamic premium rather than sum insured diff --git a/R/exportInsuranceContract_xlsx.R b/R/exportInsuranceContract_xlsx.R index 2d4b6fdf75a18f188033ed544a476ef09c5705f6..a477df0479a49d557d7ff5eedc70756f178a37cd 100644 --- a/R/exportInsuranceContract_xlsx.R +++ b/R/exportInsuranceContract_xlsx.R @@ -319,8 +319,13 @@ exportContractDataTable = function(wb, sheet, contract, ccol = 1, crow = 1, styl crow = crow + 4; # Values (parameters, premiums, etc.) of all blocks #### + additional_capital = contractPremiums$additional_capital + if (is.null(contract$Values$premiums)) { + # Contracts with multiple child blocks do not have their own premium structure => set additional capital to 0 + additional_capital = c(0, additional_capital) + } tmp = contractValues %>% - mutate(`Initial Capital` = contractPremiums$additional_capital) %>% + mutate(`Initial Capital` = additional_capital) %>% select( Vertragsteil = .data$ID, Beginn = `Start of Contract`, Tarif = .data$Tariff, .data$`Sum insured`, `Initial Capital`,