Child pages
  • AmortizationCalculation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sSummerysSummary}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method SummerySummary{th}{tr}{tbody}{tr}{td}[Boolean]{td}{td}[#addCompoundPeriodChange]\(newPeriod, date)
Adds a compound period change.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addLoan]\(amount, firstDate, \[lastDate\], \[period\], \[number\], \[startday\])
Adds a loan.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addPayment]\(amount, firstDate, \[lastDate\], \[period\], \[number\], \[startday\])
Adds a payment.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#addRateChange]\()
{td}newRate, date)
Sets a new interest rate.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#calculateAmortizationSchedule]\()
Calculates the amortization schedule.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSet]{td}{td}[#getAmortizationSchedule]\()
Gets the amortization schedule as a JSDataSet.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getError]\()
Returns the error that remains when solving for the unknown.{td}{tr}{tbody}{tbody}{tr}{td}[JSDataSet]{td}{td}[#getEvents]\()
Returns all the amortization events \- such as rate changes, loan events, payment events, compounding period changes.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getRestBalance]\()
Gets the rest balance after the amortization schedule.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#getUnknown]\()
Returns the solveForUnknown value.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#isValidPeriod]\(period)
Returns true if the period is valid, or false if the period is not valid.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#roundMoney]\(amount)
Rounds a number up to the nearest cents.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#solveForUnknown]\()
Returns true if successful or false if the call failed.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#sortEvents]\()
Sorts the amortization events ascending by date.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=addCompoundPeriodChange|class=node}{tr:id=name}{td}h6.addCompoundPeriodChange{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addCompoundPeriodChange{span}{span:id=iets|style=float: left;}\(newPeriod, date){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:addCompoundPeriodChange_des|text=|trigger=button}{sub-section}{sub-section:addCompoundPeriodChange_des|trigger=none|class=sIndent}Replace with descriptionAdds a compound period change.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:addCompoundPeriodChange_snc|text=|trigger=button}{sub-section}{sub-section:addCompoundPeriodChange_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:addCompoundPeriodChange_prs|text=|trigger=button}{sub-section}{sub-section:addCompoundPeriodChange_prs|trigger=none|class=sIndent}newPeriod
date
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:addCompoundPeriodChange_ret|text=|trigger=button}{sub-section}{sub-section:addCompoundPeriodChange_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:addCompoundPeriodChange_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addCompoundPeriodChange_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:addCompoundPeriodChange_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addCompoundPeriodChange_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:addCompoundPeriodChange_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addCompoundPeriodChange_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addLoan|class=node}{tr:id=name}{td}h6.addLoan{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addLoan{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:addLoan_des|text=|trigger=button}{sub-section}{sub-section:addLoan_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\code:language=javascript}
var c = plugins.amortization.newCalculation();
c.addRateChange(r, new Date(2005, 0, 1));
c.addCompoundPeriodChange(12, new Date(2005, 0, 1));
c.addLoan(2000, new Date(2005, 0, 1));
c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addLoan|class=node}{tr:id=name}{td}h6.addLoan{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addLoan{span}{span:id=iets|style=float: left;}\(amount, firstDate, \[lastDate\], \[period\], \[number\], \[startday\]){span}{td}{tr}{tr:id=des}{td}{sub-section:addLoan_sncdes|text=|trigger=button}{sub-section}{sub-section:addLoan_sncdes|trigger=none|class=sIndent}Adds Replace with version infoa loan.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:addLoan_prssnc|text=|trigger=button}{sub-section}{sub-section:addLoan_prssnc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=retprs}{td}*ReturnsParameters*\\{sub-section:addLoan_retprs|text=|trigger=button}{sub-section}{sub-section:addLoan_prs|trigger=none|class=sIndent}amount
firstDate
\[lastDate\]
\[period\]
\[number\]
\[startday\]
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:addLoan_ret|text=|trigger=button}{sub-section}{sub-section:addLoan_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:addLoan_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addLoan_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:addLoan_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addLoan_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:addLoan_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addLoan_sam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addPayment|class=node}{tr:id=name}{td}h6.addPayment{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addPayment{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:addPayment_des|text=|trigger=button}{sub-section}{sub-section:addPayment_des|trigger=none|class=sIndent}Replace with description{sub-sectioncode:language=javascript}
var c = plugins.amortization.newCalculation();
c.addRateChange(r, new Date(2005, 0, 1));
c.addCompoundPeriodChange(12, new Date(2005, 0, 1));
c.addLoan(2000, new Date(2005, 0, 1));
c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-show:permission=edittbody:id=addPayment|class=node}{tr:id=sncname}{td}*Since*\\{sub-section:addPayment_snc|text=|trigger=button}{sub-section}{sub-section:addPayment_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edith6.addPayment{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addPayment{span}{span:id=iets|style=float: left;}\(amount, firstDate, \[lastDate\], \[period\], \[number\], \[startday\]){span}{td}{tr}{tr:id=prsdes}{td}*Parameters*\\{sub-section:addPayment_prsdes|text=|trigger=button}{sub-section}{sub-section:addPayment_prsdes|trigger=none|class=sIndent}Adds a payment.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=retsnc}{td}*ReturnsSince*\\{sub-section:addPayment_retsnc|text=|trigger=button}{sub-section}{sub-section:addPayment_retsnc|trigger=none|class=sIndent}[Boolean] Replace with version info{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:addPayment_seeprs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addPayment_seeprs|trigger=none|class=sIndent}amount
firstDate
\[lastDate\]
\[period\]
\[number\]
\[startday\]
{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:addPayment_linkret|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addPayment_linkret|trigger=none|class=sIndent}[Boolean]{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=samsee}{td}*SampleAlso see*\\{sub-section:addPayment_samsee|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addPayment_samsee|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{trbuilder-show:classpermission=lastDetailRowedit}{tdtr:id=link}{td}{tr}{tbody}{tbody:id=addRateChange|class=node}{tr:id=name}{td}h6.addRateChange*External links*\\{sub-section:addPayment_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addPayment_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sigsam}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addRateChange{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:addRateChange_des|text=|trigger=button}{sub-section}{sub-section:addRateChange_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:addRateChange_snc|text=|trigger=button}{sub-section}{sub-section:addRateChange_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\*Sample*\\{sub-section:addPayment_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addPayment_sam|trigger=none}{code:language=javascript}
var c = plugins.amortization.newCalculation();
c.addRateChange(r, new Date(2005, 0, 1));
c.addCompoundPeriodChange(12, new Date(2005, 0, 1));
c.addLoan(2000, new Date(2005, 0, 1));
c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addRateChange|class=node}{tr:id=name}{td}h6.addRateChange{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}addRateChange{span}{span:id=iets|style=float: left;}\(newRate, date){span}{td}{tr}{tr:id=des}{td}{sub-section:addRateChange_prsdes|text=|trigger=button}{sub-section}{sub-section:addRateChange_prsdes|trigger=none|class=sIndent}Sets a new interest rate.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=retsnc}{td}*ReturnsSince*\\{sub-section:addRateChange_retsnc|text=|trigger=button}{sub-section}{sub-section:addRateChange_retsnc|trigger=none|class=sIndent}[Boolean] Replace with version info{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:addRateChange_seeprs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addRateChange_seeprs|trigger=none|class=sIndent}newRate
date
{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:addRateChange_linkret|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addRateChange_linkret|trigger=none|class=sIndent}[Boolean]{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=samsee}{td}*SampleAlso see*\\{sub-section:addRateChange_samsee|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addRateChange_samsee|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{trbuilder-show:classpermission=lastDetailRowedit}{tdtr:id=link}{td}{tr}{tbody}{tbody:id=calculateAmortizationSchedule|class=node}{tr:id=name}{td}h6.calculateAmortizationSchedule*External links*\\{sub-section:addRateChange_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addRateChange_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sigsam}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}calculateAmortizationSchedule{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:calculateAmortizationSchedule_des|text=|trigger=button}{sub-section}{sub-section:calculateAmortizationSchedule_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:calculateAmortizationSchedule_snc|text=|trigger=button}{sub-section}{sub-section:calculateAmortizationSchedule_snc|trigger=none|class=sIndent} Replace with version info{sub-section*Sample*\\{sub-section:addRateChange_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addRateChange_sam|trigger=none}{code:language=javascript}
var c = plugins.amortization.newCalculation();
c.addRateChange(r, new Date(2005, 0, 1));
c.addCompoundPeriodChange(12, new Date(2005, 0, 1));
c.addLoan(2000, new Date(2005, 0, 1));
c.addPayment(500, new Date(2005, 1, 28), null, 12, 5, 31);
{code}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edittr:class=lastDetailRow}{td}{td}{tr:id=prs}{tdtbody}*Parameters*\\{sub-section:calculateAmortizationSchedule_prs|text=|trigger=button}{sub-section}{sub-section:calculateAmortizationSchedule_prs|trigger=none|class=sIndent}{sub-section}{tbody:id=calculateAmortizationSchedule|class=node}{tr:id=name}{td}h6.calculateAmortizationSchedule{td}{tr}{builder-show}{tr:id=retsig}{td}*Returns*\\{sub-section:calculateAmortizationSchedule_ret|text=|trigger=button}{sub-section}{sub-section:calculateAmortizationSchedule_ret|trigger=none|class=sIndent}[Boolean]{sub-section{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}calculateAmortizationSchedule{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=seedes}{td}*Also see*\\{sub-section:calculateAmortizationSchedule_seedes|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:calculateAmortizationSchedule_seedes|trigger=none|class=sIndent}Calculates the amortization schedule.{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksnc}{td}*External linksSince*\\{sub-section:calculateAmortizationSchedule_linksnc|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:calculateAmortizationSchedule_linksnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:calculateAmortizationSchedule_samprs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:calculateAmortizationSchedule_samprs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:classid=lastDetailRowret}{td}{td}{tr}{tbody}{tbody:id=getAmortizationSchedule|class=node}{tr:id=name}{td}h6.getAmortizationSchedule{td}{tr*Returns*\\{sub-section:calculateAmortizationSchedule_ret|text=|trigger=button}{sub-section}{sub-section:calculateAmortizationSchedule_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=sigsee}{td}{span:style=float: left; margin-right: 5px;}[JSDataSet]{span}{span:id=iets|style=float: left; font-weight: bold;}getAmortizationSchedule{span}{span:id=iets|style=float: left;}\(){span}{td}{tr*Also see*\\{sub-section:calculateAmortizationSchedule_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:calculateAmortizationSchedule_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=deslink}{td}*External links*\\{sub-section:getAmortizationSchedulecalculateAmortizationSchedule_deslink|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getAmortizationSchedulecalculateAmortizationSchedule_deslink|trigger=none|class=sIndent}Replace with description{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:getAmortizationSchedulecalculateAmortizationSchedule_sncsam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getAmortizationSchedulecalculateAmortizationSchedule_sncsam|trigger=none|class=sIndent} Replace with version info}{code:language=javascript}
plugins.amortization.calculateAmortizationSchedule();
{code}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prstr:class=lastDetailRow}{td}{td}*Parameters*\\{sub-section:getAmortizationSchedule_prs|text=|trigger=button}{sub-section}{sub-section:getAmortizationSchedule_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show{tr}{tbody}{tbody:id=getAmortizationSchedule|class=node}{tr:id=name}{td}h6.getAmortizationSchedule{td}{tr}{tr:id=retsig}{td}*Returns*\\{sub-section:getAmortizationSchedule_ret|text=|trigger=button}{sub-section}{sub-section:getAmortizationSchedule_ret|trigger=none|class=sIndent}[JSDataSet]{sub-section{span:style=float: left; margin-right: 5px;}[JSDataSet]{span}{span:id=iets|style=float: left; font-weight: bold;}getAmortizationSchedule{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=seedes}{td}*Also see*\\{sub-section:getAmortizationSchedule_seedes|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getAmortizationSchedule_seedes|trigger=none|class=sIndent}Gets the amortization schedule as a JSDataSet.{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksnc}{td}*External linksSince*\\{sub-section:getAmortizationSchedule_linksnc|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getAmortizationSchedule_linksnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:getAmortizationSchedule_samprs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getAmortizationSchedule_samprs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:classid=lastDetailRowret}{td}{td}{tr}{tbody}{tbody:id=getError|class=node}{tr:id=name}{td}h6.getError{td}{tr*Returns*\\{sub-section:getAmortizationSchedule_ret|text=|trigger=button}{sub-section}{sub-section:getAmortizationSchedule_ret|trigger=none|class=sIndent}[JSDataSet]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=sigsee}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getError{span}{span:id=iets|style=float: left;}\(){span}{td}{tr*Also see*\\{sub-section:getAmortizationSchedule_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getAmortizationSchedule_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=deslink}{td}*External links*\\{sub-section:getErrorgetAmortizationSchedule_deslink|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getErrorgetAmortizationSchedule_deslink|trigger=none|class=sIndent}Replace with description{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:getErrorgetAmortizationSchedule_sncsam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getErrorgetAmortizationSchedule_sncsam|trigger=none|class=sIndent} Replace with version info}{code:language=javascript}
plugins.amortization.getAmortizationSchedule();
{code}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prstr:class=lastDetailRow}{td}{td}*Parameters*\\{sub-section:getError_prs|text=|trigger=button}{sub-section}{sub-section:getError_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show{tr}{tbody}{tbody:id=getError|class=node}{tr:id=name}{td}h6.getError{td}{tr}{tr:id=retsig}{td}*Returns*\\{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getError{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getError_retdes|text=|trigger=button}{sub-section}{sub-section:getError_retdes|trigger=none|class=sIndent}[Number]Returns the error that remains when solving for the unknown.
Please note that the error should be less or equal to 1E\-8 \- otherwise, the solveForUnknown value is incorrect.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seesnc}{td}*Also seeSince*\\{sub-section:getError_seesnc|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getError_seesnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:getError_linkprs|text=|trigger=button}{sub-section}{div:sub-section:getError_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:getError_linkid=ret}{td}*Returns*\\{sub-section:getError_ret|text=|trigger=nonebutton}{sub-section}{divsub-section:getError_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=samsee}{td}*SampleAlso see*\\{sub-section:getError_samsee|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getError_sam|trigger=none}{sub-section}{div:class=sIndent}{sub-section:getError_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getError_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getError_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getError_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getError_sam|trigger=none}{code:language=javascript}
//Returns the error that remains when solving for the unknown.
Please note that the error should be less or equal to 1E-8 - otherwise, the solveForUnknown value is incorrect.
var c = plugins.amortization.newCalculation();
// sets the rate to -1 for unknown.
c.addRateChange(-1, new Date(2005, 0, 1));
c.addCompoundPeriodChange(12, new Date(2005, 0, 1));
c.addLoan(2000, new Date(2005, 0, 1));
var lastDate = null;
var period = 12;
var number_count = 5;
var startday = 31;
c.addPayment(500, new Date(2005, 1, 28), lastDate, period,number_count, startday);
// solves for the interest rate.
c.solveForUnknown();
// gets the interest rate and the error in the calculation.
// which should be small (otherwise the calculation did
// not converge for some reason.
var r = c.getUnknown();
var e = c.getError();
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getEvents|class=node}{tr:id=name}{td}h6.getEvents{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSDataSet]{span}{span:id=iets|style=float: left; font-weight: bold;}getEvents{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getEvents_des|text=|trigger=button}{sub-section}{sub-section:getEvents_des|trigger=none|class=sIndent}Replace with descriptionReturns all the amortization events \- such as rate changes, loan events, payment events, compounding period changes.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getEvents_snc|text=|trigger=button}{sub-section}{sub-section:getEvents_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getEvents_prs|text=|trigger=button}{sub-section}{sub-section:getEvents_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getEvents_ret|text=|trigger=button}{sub-section}{sub-section:getEvents_ret|trigger=none|class=sIndent}[JSDataSet]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getEvents_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getEvents_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getEvents_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getEvents_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:getEvents_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getEvents_sam|trigger=none}{code:language=javascript}
plugins.amortization.getEvents();
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRestBalance|class=node}{tr:id=name}{td}h6.getRestBalance{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getRestBalance{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getRestBalance_des|text=|trigger=button}{sub-section}{sub-section:getRestBalance_des|trigger=none|class=sIndent}Replace with descriptionGets the rest balance after the amortization schedule.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getRestBalance_snc|text=|trigger=button}{sub-section}{sub-section:getRestBalance_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getRestBalance_prs|text=|trigger=button}{sub-section}{sub-section:getRestBalance_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getRestBalance_ret|text=|trigger=button}{sub-section}{sub-section:getRestBalance_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getRestBalance_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRestBalance_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getRestBalance_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRestBalance_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:getRestBalance_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getRestBalance_sam|trigger=none}{code:language=javascript}
var rb = plugins.amortization.getRestBalance();
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getUnknown|class=node}{tr:id=name}{td}h6.getUnknown{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}getUnknown{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getUnknown_des|text=|trigger=button}{sub-section}{sub-section:getUnknown_des|trigger=none|class=sIndent}ReplaceReturns the withsolveForUnknown descriptionvalue.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getUnknown_snc|text=|trigger=button}{sub-section}{sub-section:getUnknown_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getUnknown_prs|text=|trigger=button}{sub-section}{sub-section:getUnknown_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getUnknown_ret|text=|trigger=button}{sub-section}{sub-section:getUnknown_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getUnknown_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getUnknown_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getUnknown_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getUnknown_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:getUnknown_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:getUnknown_sam|trigger=none}{code:language=javascript}
plugins.amortization.getUnknown();
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=isValidPeriod|class=node}{tr:id=name}{td}h6.isValidPeriod{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}isValidPeriod{span}{span:id=iets|style=float: left;}\(period){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:isValidPeriod_des|text=|trigger=button}{sub-section}{sub-section:isValidPeriod_des|trigger=none|class=sIndent}Replace with descriptionReturns true if the period is valid, or false if the period is not valid.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:isValidPeriod_snc|text=|trigger=button}{sub-section}{sub-section:isValidPeriod_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:isValidPeriod_prs|text=|trigger=button}{sub-section}{sub-section:isValidPeriod_prs|trigger=none|class=sIndent}period
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:isValidPeriod_ret|text=|trigger=button}{sub-section}{sub-section:isValidPeriod_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:isValidPeriod_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:isValidPeriod_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:isValidPeriod_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:isValidPeriod_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:isValidPeriod_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:isValidPeriod_sam|trigger=none}{code:language=javascript}
//Returns true if the period is valid, or false if the period is not valid.

var v_period = plugins.amortization.isValidPeriod(12);
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=roundMoney|class=node}{tr:id=name}{td}h6.roundMoney{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}roundMoney{span}{span:id=iets|style=float: left;}\(amount){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:roundMoney_des|text=|trigger=button}{sub-section}{sub-section:roundMoney_des|trigger=none|class=sIndent}Replace with description}Rounds a number up to the nearest cents.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:roundMoney_snc|text=|trigger=button}{sub-section}{sub-section:roundMoney_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:roundMoney_prs|text=|trigger=button}{sub-section}{sub-section:roundMoney_prs|trigger=none|class=sIndent}amount
{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:roundMoney_ret|text=|trigger=button}{sub-section}{sub-section:roundMoney_ret|trigger=none|class=sIndent}[Number]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:roundMoney_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:roundMoney_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:roundMoney_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:roundMoney_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:roundMoney_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:roundMoney_sam|trigger=none|trigger=none}{code:language=javascript}
//Rounds a number up to the nearest cents.

//rounds the number up to 34.35
var rm = plugins.amortization.roundMoney(34.349384);
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=solveForUnknown|class=node}{tr:id=name}{td}h6.solveForUnknown{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}solveForUnknown{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:solveForUnknown_des|text=|trigger=button}{sub-section}{sub-section:solveForUnknown_des|trigger=none|class=sIndent}Replace with descriptionReturns true if successful or false if the call failed.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:solveForUnknown_snc|text=|trigger=button}{sub-section}{sub-section:solveForUnknown_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:solveForUnknown_prs|text=|trigger=button}{sub-section}{sub-section:solveForUnknown_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:solveForUnknown_ret|text=|trigger=button}{sub-section}{sub-section:solveForUnknown_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:solveForUnknown_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:solveForUnknown_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:solveForUnknown_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:solveForUnknown_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:solveForUnknown_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:solveForUnknown_sam|trigger=none}{sub-section:solveForUnknown_sam|trigger=none}{code:language=javascript}
//Returns true if successful or false if the call failed.

plugins.amortization.solveForUnknown();
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sortEvents|class=node}{tr:id=name}{td}h6.sortEvents{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}sortEvents{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:sortEvents_des|text=|trigger=button}{sub-section}{sub-section:sortEvents_des|trigger=none|class=sIndent}Replace with descriptionSorts the amortization events ascending by date.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:sortEvents_snc|text=|trigger=button}{sub-section}{sub-section:sortEvents_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:sortEvents_prs|text=|trigger=button}{sub-section}{sub-section:sortEvents_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:sortEvents_ret|text=|trigger=button}{sub-section}{sub-section:sortEvents_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:sortEvents_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:sortEvents_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:sortEvents_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:sortEvents_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:sortEvents_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:sortEvents_sam|trigger=none}{code:language=javascript}
//Sorts the amortization events ascending by date.

plugins.amortization.sortEvents();
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}