AmorDegrC(Cost: Double;
PurchaseDate: DateTime;
FirstPeriodEnd: DateTime;
Salvage: Double;
Period: Integer;
Rate: Double;
Basis: Integer): Double;
AmorDegrC(Cost: double;
PurchaseDate: System.DateTime;
FirstPeriodEnd: System.DateTime;
Salvage: double;
Period: integer;
Rate: double;
Basis: integer): double;
| Parameters | Description | Constraints |
| Cost | Cost for acquiring an asset. | Cannot be negative. |
| PurchaseDate | Date of acquiring an asset. | Must be less than FirstPeriodEnd. |
| FirstPeriodEnd | End date of the first period. | Must be greater than PurchaseDate. |
| Salvage | Depreciated cost of an asset at the end of the depreciation period. | Must belong to the [0;Cost] interval. |
| Period | Depreciation period. | Cannot be negative. |
| Rate | Depreciation interest rate. | Must be positive. |
| Basis | The employed method of day calculation: 0 - American/360 days (NSAD method). 1 - Actual/actual. 2 - Actual/360days. 3 - Actual/365 days. 4 - European 30/360 days. |
Must take the values 0, 1, 3 or 4. |
The AmorDegrC method returns the size of depreciation for each period considering depreciation coefficient.
This method is used with the French accounting system.
The method calculates depreciation until the last depreciation period or until the depreciation total value is more than the difference between the original cost and the depreciated cost of an asset.
If product life is between 0 and 1, 1 and 2, 2 and 3, 4 and 5, the method displays an error message.
The following depreciation coefficients are used by this method:
| Product life (1/rate) | Depreciation coefficient |
| From 3 to 4 years. | 1,5 |
| From 5 to 6 years. | 2 |
| More than 6 years. | 2,5 |
To execute the example, add a link to the MathFin system assembly.
Sub UserProc;
Var
r: Double;
Begin
r:= Finance.AmorDegrC(2000, DateTime.ComposeDay(2008,01,01),
DateTime.ComposeDay(2008,08,01), 200, 1, 0.15, 3);
Debug.WriteLine(r);
End Sub UserProc;
After executing the example the console window displays the value of depreciation equal to 586.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Sub Main(Params: StartParams);
Var
r: double;
Finance: FinanceClass = New FinanceClass();
DateTime1, DateTime2: System.DateTime;
Begin
DateTime1 := New DateTime(2008,01,01);
DateTime2 := New DateTime(2008,08,01);
r := Finance.AmorDegrC(2000, DateTime1, DateTime2, 200, 1, 0.15, 3);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
See also: