From 99aa29a4a198612f99521588356ccbce19c43e28 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Wed, 7 May 2025 11:49:51 +0200 Subject: [PATCH] Recalculer le montant de l'amortissement en fonction de l'exercice et de la date --- save_amort.html | 55 +++++++++++++++++++++++++++------ scripts.js | 81 +++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 117 insertions(+), 19 deletions(-) diff --git a/save_amort.html b/save_amort.html index 55921c4..5a203a5 100644 --- a/save_amort.html +++ b/save_amort.html @@ -72,6 +72,7 @@ {{if $amort_line.amort_amount == null}} {{* 1er amortissement *}} + {{:assign premier_amort=true}} {{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}} {{#select code, label from acc_accounts where id = :id; :id=$ligne_immo.account_id assign=amort_account}} {{/select}} @@ -84,6 +85,7 @@ {{:assign var=libelle value="Amortissement %s"|args:$ligne_immo.label}} {{else}} {{* amortissements suivants *}} + {{:assign premier_amort=false}} {{:assign date_debut=$amort_line.amort_date|strtotime}} {{:assign date_debut="%d+(60*60*24)"|math:$date_debut|date:"Y-m-d"}} {{:assign var=code_amort value=$amort_line.account_code}} @@ -92,17 +94,21 @@ {{/if}} {{* - lister les exercices dont la date de fin est postérieure à la date - de mise en service de l'immo ou à la date du dernier amortissement + lister les exercices qui englobent la date de mise en service de l'immo + ou la date du dernier amortissement *}} {{:assign msg_years=""}} -{{#years closed=false order="start_date" where="end_date > :debut" :debut=$date_debut assign=years.}} - {{:assign ts_debut=$start_date|strtotime}} +{{#years closed=false order="start_date" where="start_date <= :debut AND :debut <= end_date" :debut=$date_debut assign=years.}} + {{if $premier_amort}} + {{:assign ts_debut=$date_debut|strtotime}} + {{else}} + {{:assign ts_debut=$start_date|strtotime}} + {{/if}} {{:assign ts_fin=$end_date|strtotime}} - {{:assign var="years_data.%d"|args:$id value=$ts_debut|cat:" "|cat:$ts_fin}} {{:assign debut=$start_date|date_short}} {{:assign fin=$end_date|date_short}} {{:assign var="open_years.%d"|args:$id value=$label|cat:" (du "|cat:$debut|cat:" au "|cat:$fin|cat:")"}} + {{:assign var="years_data.%d"|args:$id value=$ts_debut|cat:" "|cat:$ts_fin}} {{:assign msg_years=$msg_years|cat:"\n"|cat:" - "|cat:$label|cat:" : "|cat:$debut|cat:" à "|cat:$fin}} {{else}} {{:error message="Aucun exercice ouvert pour enregistrer un amortissement"}} @@ -229,8 +235,8 @@ {{* -------------------------------------------------------------------------------- *}} -