lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Group-quote PDF: whitespace changes, and enhancement


From: Greg Chicares
Subject: Re: [lmi] Group-quote PDF: whitespace changes, and enhancement
Date: Fri, 9 Mar 2018 02:50:58 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 2018-03-09 00:17, Vadim Zeitlin wrote:
> On Thu, 8 Mar 2018 15:38:46 +0000 Greg Chicares <address@hidden> wrote:
> 
> GC> Can the new PDF similarly apportion the available blank space (on
> GC> the right) among all columns?

In effect, PR #74 has already done what we wanted: the sixth page
(page 5 of 8) of that 'large-in-dollars' input file we shared now
looks as though you had apportioned all available space among the
columns, when AIUI all you really did was widen them.

I've gone ahead and committed that PR, but I think it needs more
refinement--I ran 'large-in-dollars.ill' and got a couple warnings
(which I won't retype here because 'wine' makes it onerous, and I
imagine you'll see them yourself), and on the fifth page (4 of 7)
the numeric columns exceed the available page width. I don't yet
understand how all this code works, but I'd guess that there might
be too many hard-coded spaces between columns.

I'll propose other changes, and some questions, in the patch below[0].

>  Wouldn't this look really ugly for narrow(er) tables that also occur in
> illustrations (e.g. supplemental reports with just 3 columns)?

Yes, it would. I believe that for the calculation summary we decided
to expand the spacing between columns so that all available width is
consumed. That wouldn't look very nice for two columns, but usually
an end user would select more than two. However, the calculation
summary is seen only by the end user, whereas PDF illustrations are
shown to customers, who can't control the number of columns; besides,
they're paying money and are entitled to a more refined presentation;
that's why IMO the narrower tables are correct already in PDFs.

---------

[0] "the patch below": I wouldn't propose to commit this as is; it's
intended only to suggest some changes and raise some questions. The
major issue is whether these "999..." fields apply only to a single
page, or are generic (i.e. so that the same width would be used for
a user-designed supplemental report). Either way, I'm sure this is
not what we want:
  ,{ "ErGrossPmt"           , "ER Gross\nPayment"          ,     "999,999" }
  ,{ "EeGrossPmt"           , "EE Gross\nPayment"          ,     "999,999" }
  ,{ "GrossPmt"             , "Premium\nOutlay"            , "999,999,999" }
the last of those three is more or less the sum of the first two.

---------8<--------8<--------8<--------8<--------8<--------8<--------8<-------
diff --git a/ledger_pdf_generator_wx.cpp b/ledger_pdf_generator_wx.cpp
index 545d1bcf..72ff9550 100644
--- a/ledger_pdf_generator_wx.cpp
+++ b/ledger_pdf_generator_wx.cpp
@@ -1895,7 +1895,7 @@ class ill_reg_tabular_detail2_page : public 
page_with_tabular_report
             {{ "PolicyYear"          , "Policy\nYear"               ,         
"999" }
             ,{ "AttainedAge"         , "End of\nYear Age"           ,         
"999" }
             ,{ "AnnGAIntRate_Current", "Illustrated\nCrediting Rate",      
"99.99%" }
-            ,{ "SpecAmt"             , "Selected\nFace Amount"      , 
"999,000,000" }
+            ,{ "SpecAmt"             , "Selected\nFace Amount"      , 
"999,999,999" }
             };
 
         return columns;
@@ -1956,6 +1956,7 @@ class standard_supplemental_report : public 
page_with_tabular_report
                     (illustration_table_column
                         {std::move(name)
                         
,interpolate_html.evaluate("SupplementalReportColumnsTitles", i)
+// Vadim--should this become "999,999,999"?
                         ,"999,999"
                         }
                     );
@@ -2386,17 +2387,17 @@ class nasd_supplemental : public 
page_with_tabular_report
         static illustration_table_columns const columns =
             {{ "PolicyYear"           , "Policy\nYear"               ,         
"999" }
             ,{ "AttainedAge"          , "End of\nYear Age"           ,         
"999" }
-            ,{ "ErGrossPmt"           , "ER Gross\nPayment"          ,     
"999,999" }
-            ,{ "EeGrossPmt"           , "EE Gross\nPayment"          ,     
"999,999" }
+            ,{ "ErGrossPmt"           , "ER Gross\nPayment"          , 
"999,999,999" }
+            ,{ "EeGrossPmt"           , "EE Gross\nPayment"          , 
"999,999,999" }
             ,{ "GrossPmt"             , "Premium\nOutlay"            , 
"999,999,999" }
-            ,{ "PolicyFee_Current"    , "Admin\nCharge"              ,     
"999,999" }
-            ,{ "PremTaxLoad_Current"  , "Premium\nTax Load"          ,     
"999,999" }
-            ,{ "DacTaxLoad_Current"   , "DAC\nTax Load"              ,     
"999,999" }
-            ,{ "ErModalMinimumPremium", "ER Modal\nMinimum\nPremium" ,     
"999,999" }
-            ,{ "EeModalMinimumPremium", "EE Modal\nMinimum\nPremium" ,     
"999,999" }
-            ,{ "NetPmt_Current"       , "Net\nPremium"               ,     
"999,999" }
-            ,{ "COICharge_Current"    , "Cost of\nInsurance\nCharges",     
"999,999" }
-            ,{ "AcctVal_Current"      , "Current\nAccount\nValue"    ,     
"999,999" }
+            ,{ "PolicyFee_Current"    , "Admin\nCharge"              , 
"999,999,999" }
+            ,{ "PremTaxLoad_Current"  , "Premium\nTax Load"          , 
"999,999,999" }
+            ,{ "DacTaxLoad_Current"   , "DAC\nTax Load"              , 
"999,999,999" }
+            ,{ "ErModalMinimumPremium", "ER Modal\nMinimum\nPremium" , 
"999,999,999" }
+            ,{ "EeModalMinimumPremium", "EE Modal\nMinimum\nPremium" , 
"999,999,999" }
+            ,{ "NetPmt_Current"       , "Net\nPremium"               , 
"999,999,999" }
+            ,{ "COICharge_Current"    , "Cost of\nInsurance\nCharges", 
"999,999,999" }
+            ,{ "AcctVal_Current"      , "Current\nAccount\nValue"    , 
"999,999,999" }
             ,{ "CSVNet_Current"       , "Current\nCash Surr\nValue"  , 
"999,999,999" }
             ,{ "EOYDeathBft_Current"  , "Current\nDeath\nBenefit"    , 
"999,999,999" }
             };
@@ -2471,6 +2472,7 @@ class nasd_assumption_detail : public 
page_with_tabular_report
         static illustration_table_columns const columns =
             {{ "PolicyYear"          , "Policy\nYear"                ,        
"999" }
             ,{ "AttainedAge"         , "End of\nYear Age"            ,        
"999" }
+// Kim--It's "Inv Rate" in XSL-FO too, but should it be "Int" rate?
             ,{ "AnnSAIntRate_Current", "Sep Acct Net\nInv Rate"      ,     
"99.99%" }
             ,{ "AnnGAIntRate_Current", "Gen Acct\nCurrent Rate"      ,     
"99.99%" }
             ,{ "CurrMandE"           , "M&E"                         ,     
"99.99%" }
@@ -2746,6 +2748,9 @@ class reg_d_individual_guar_irr : public 
reg_d_individual_irr_base
             ,{ "GrossPmt"                   , "Premium\nOutlay"    , 
"999,999,999" }
             ,{ "CSVNet_GuaranteedZero"      , "Cash Surr\nValue"   , 
"999,999,999" }
             ,{ "EOYDeathBft_GuaranteedZero" , "Death\nBenefit"     , 
"999,999,999" }
+// Vadim--IRRs can easily run into thousands of percent. Is it
+// necessary to try to determine a maximum value? (There are
+// other IRRs elsewhere in this file, too.)
             ,{ "IrrCsv_GuaranteedZero"      , "IRR on\nSurr Value" ,      
"99.99%" }
             ,{ "IrrDb_GuaranteedZero"       , "IRR on\nDeath Bft"  ,      
"99.99%" }
             ,{ ""                           , " "                  ,           
"-" }
@@ -2822,12 +2827,12 @@ class reg_d_individual_curr : public 
page_with_tabular_report
             {{ "PolicyYear"              , "Policy\nYear"      ,         "999" 
}
             ,{ "AttainedAge"             , "End of\nYear Age"  ,         "999" 
}
             ,{ "GrossPmt"                , "Premium\nOutlay"   , "999,999,999" 
}
-            ,{ "PremiumLoads"            , "Premium\nLoads"    ,     "999,999" 
}
-            ,{ "AdminCharges"            , "Admin\nCharges"    ,     "999,999" 
}
-            ,{ "COICharge_Current"       , "Mortality\nCharges",     "999,999" 
}
-            ,{ "SepAcctCharges_Current"  , "Asset\nCharges"    ,     "999,999" 
}
-            ,{ "GrossIntCredited_Current", "Investment\nIncome",     "999,999" 
}
-            ,{ "AcctVal_Current"         , "Account\nValue"    ,     "999,999" 
}
+            ,{ "PremiumLoads"            , "Premium\nLoads"    , "999,999,999" 
}
+            ,{ "AdminCharges"            , "Admin\nCharges"    , "999,999,999" 
}
+            ,{ "COICharge_Current"       , "Mortality\nCharges", "999,999,999" 
}
+            ,{ "SepAcctCharges_Current"  , "Asset\nCharges"    , "999,999,999" 
}
+            ,{ "GrossIntCredited_Current", "Investment\nIncome", "999,999,999" 
}
+            ,{ "AcctVal_Current"         , "Account\nValue"    , "999,999,999" 
}
             ,{ "CSVNet_Current"          , "Cash\nSurr Value"  , "999,999,999" 
}
             ,{ "EOYDeathBft_Current"     , "Death\nBenefit"    , "999,999,999" 
}
             };
--------->8-------->8-------->8-------->8-------->8-------->8-------->8-------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]