diff --git a/amortization.html b/amortization.html
index 237ee0c..0caed6c 100644
--- a/amortization.html
+++ b/amortization.html
@@ -63,14 +63,15 @@
{{:assign total_credits="%d+%d"|math:$total_credits:$amount}}
{{/if}}
{{/load}}
-{{:assign solde="%d-%d"|math:$ligne_immo.montant:$total_credits}}
+{{:assign var="ligne_immo.montant" value="%d-%d"|math:$ligne_immo.montant:$total_credits}}
+{{:assign solde=$ligne_immo.montant}}
{{*:debug info_immo=$info_immo ligne_immo=$ligne_immo total_credits=$total_credits solde=$solde*}}
{{if $info_immo.status == "amortized"}}
- {{:assign amort_amount=$solde}}
+ {{:assign amort_amount=$ligne_immo.montant}}
{{:assign valeur_residuelle=0}}
{{else}}
- {{:assign valeur_residuelle=$solde}}
+ {{:assign valeur_residuelle=$ligne_immo.montant}}
{{/if}}
{{* lister les lignes des écritures d'amortissement liées à l'immobilisation *}}
@@ -207,13 +208,13 @@
{{/if}}
{{if $valeur_residuelle > 0}}
Montant des amortissements
- {{"%d-%d"|math:$solde:$valeur_residuelle|money_currency_html:false|raw}}
+ {{"%d-%d"|math:$ligne_immo.montant:$valeur_residuelle|money_currency_html:false|raw}}
Valeur nette comptable
{{$valeur_residuelle|money_currency_html:false|raw}}
{{/if}}
{{if $info_immo.duration != null && $valeur_residuelle > 0}}
Annuité estimée
- {{"min(%d, %f/%d)"|math:$valeur_residuelle:solde:$info_immo.duration|money_currency_html:false|raw}}
+ {{"min(%d, %f/%d)"|math:$valeur_residuelle:$ligne_immo.montant:$info_immo.duration|money_currency_html:false|raw}}
{{/if}}
diff --git a/attach_amort.html b/attach_amort.html
index f369cd4..f643f9a 100644
--- a/attach_amort.html
+++ b/attach_amort.html
@@ -11,7 +11,6 @@
{{* chercher l'écriture d'immobilisation *}}
{{#select
line.id_transaction as immo_trans_id,
- line.debit as montant,
trans.label as trans_label,
line.label as line_label
FROM acc_transactions_lines as line
@@ -25,12 +24,11 @@
{{/select}}
{{* chercher le doc associé à l'immo *}}
-{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}}
+{{#load id=$_GET.immo_doc_id|intval}}
{{:assign label_immo=$label|or:$ligne_immo.trans_label}}
{{else}}
{{:error message="Immobilisation non trouvée"}}
{{/load}}
-{{:assign montant_immo=$info_immo.amount|or:$ligne_immo.montant}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
@@ -69,9 +67,9 @@
{{* Traiter l'envoi du formulaire *}}
{{#form on="save"}}
+
{{* vérifier que le montant saisi est inférieur au reste *}}
- {{if $_POST.montant == null || $_POST.montant == 0}}
- {{:assign montant_amort=$reste}}
+ {{if $_POST.montant == null}}
{{if $montant_affecte == 0}}
{{:assign saved_amount=null}}
{{else}}
@@ -90,57 +88,6 @@
{{/if}}
{{/if}}
- {{* vérifier que le montant total des amortissements ne dépasse pas la valeur de l'immo *}}
- {{* montant de l'immo *}}
- {{:assign total_credits=0}}
- {{#load
- type="credit_link"
- where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id = $_GET.immo_doc_id|intval
- }}
- {{if $amount == null}}
- {{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id;
- :credit_line_id=$credit_line_id
- }}
- {{:assign total_credits="%d+%d"|math:$total_credits:$credit}}
- {{/select}}
- {{else}}
- {{:assign total_credits="%d+%d"|math:$total_credits:$amount}}
- {{/if}}
- {{/load}}
- {{:assign montant_immo="%d-%d"|math:$montant_immo:$total_credits}}
-
- {{* montant des amortissements *}}
- {{:assign total_amort=0}}
- {{#load
- type="amort_link"
- where="$$.immo_doc_id = :immo_doc_id"
- :immo_doc_id=$_GET.immo_doc_id|intval
- }}
- {{if $amount == null || $amount == 0}}
- {{#select
- line.credit
- FROM acc_transactions_lines AS line
- INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id
- INNER join acc_accounts AS account on line.id_account = account.id
- WHERE line.id = :amort_line_id
- ;
- :amort_line_id = $amort_line_id
- }}
- {{:assign total_amort="%d+%d"|math:$total_amort:$credit}}
- {{/select}}
- {{else}}
- {{:assign total_amort="%d+%d"|math:$total_amort:$amount}}
- {{/if}}
- {{/load}}
-
- {{:assign vnc="%d-%d"|math:$montant_immo:$total_amort}}
- {{:assign total_amort="%d+%d"|math:$total_amort:$montant_amort}}
- {{if $total_amort > $montant_immo}}
- {{:assign ma="%f"|math:$montant_amort|money_currency:false}}
- {{:assign vnc="%f"|math:$vnc|money_currency:false}}
- {{:error message="Le montant de l'amortissement (%s) dépasse la valeur résiduelle de l'immobilisation (%s)"|args:$ma:$vnc}}
- {{/if}}
-
{{* chercher les liaisons de l'écriture d'immobilisation *}}
{{#select
CASE links.id_related = :immo_trans_id
@@ -182,16 +129,7 @@
}}
{{/load}}
- {{* immo soldée ? *}}
- {{if $total_amort == $montant_immo}}
- {{:assign status="amortized"}}
- {{:save
- key=$info_immo.key
- status=$status
- }}
- {{/if}}
-
- {{:redirect force="amortization.html?immo_line_id=%s&immo_doc_id=%s&type_immo=%s&ok=1&msg=attach_amort"|args:$_GET.immo_line_id:$_GET.immo_doc_id:$status}}
+ {{:redirect force="amortization.html?immo_line_id=%s&immo_doc_id=%s&ok=1&msg=attach_amort"|args:$_GET.immo_line_id:$_GET.immo_doc_id}}
{{/form}}
{{:admin_header title="Amortir l'immobilisation" custom_css="./style.css" current="module_amortization"}}
@@ -210,12 +148,10 @@
#{{$amort_line.trans_id}} {{$label_immo}}
Montant de l'écriture d'amortissement
{{$amort_line.amount|money_currency_html:false|raw}}
- {{if $montant_affecte > 0}}
- Montant déjà affecté
- {{"%f"|math:$montant_affecte|money_currency_html:false|raw}}
- Montant restant à affecter
- {{"%f"|math:$reste|money_currency_html:false|raw}}
- {{/if}}
+ Montant déjà affecté
+ {{"%f"|math:$montant_affecte|money_currency_html:false|raw}}
+ Montant restant à affecter
+ {{"%f"|math:$reste|money_currency_html:false|raw}}
diff --git a/detach_amort.html b/detach_amort.html
index 06b99ff..caae1a0 100644
--- a/detach_amort.html
+++ b/detach_amort.html
@@ -68,12 +68,5 @@
{{:delete id=$id}}
{{/load}}
-{{* marquer immo non soldée *}}
-{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}}{{/load}}
-{{:save
- key=$info_immo.key
- status="managed"
-}}
-
{{:redirect
to="amortization.html?immo_line_id=%s&ok=1&msg=detach&immo_doc_id=%s"|args:$_GET.immo_line_id:$_GET.immo_doc_id}}
diff --git a/save_amort.html b/save_amort.html
index 1b199c0..5b852bc 100644
--- a/save_amort.html
+++ b/save_amort.html
@@ -29,7 +29,7 @@
{{/select}}
{{:assign date_debut=$ligne_immo.date}}
-{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}}
+{{#load id=$_GET.immo_doc_id|intval}}
{{:assign duree=$duration}}
{{if $date_mes != null}}
{{:assign date_debut=$date_mes}}
@@ -222,14 +222,15 @@
debit=$_POST.montant
account=$debit_account|keys|value:0
id_project=$ligne_immo.project_id
+ label=$_POST.designation
}}
{{:assign
var="lines."
credit=$_POST.montant
account=$credit_account|keys|value:0
id_project=$ligne_immo.project_id
+ label=$_POST.designation
}}
-
{{:api
method="POST"
path="accounting/transaction"
@@ -244,28 +245,28 @@
}}
{{* enregistrer la liaison des lignes *}}
- {{#foreach from=$result.lines item="line"}}
- {{if $line.account_code == $credit_account|keys|value:0}}
- {{:save
- key=""|uuid
- type="amort_link"
- immo_doc_id=$_GET.immo_doc_id|intval
- amort_line_id=$line.id
- }}
- {{:break}}
- {{/if}}
- {{/foreach}}
-
- {{* immo soldée ? *}}
- {{if $_POST.montant|trim|money_int == $solde}}
- {{:assign status="amortized"}}
+ {{#select
+ trans.id AS trans_id,
+ line.id AS line_id
+ FROM acc_transactions AS trans
+ INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
+ WHERE trans.id = :trans_id
+ ;
+ :trans_id = $result.id
+ }}
+ {{:assign amort_trans_id=$trans_id}}
+ {{:assign amort_line_id=$line_id}}
+ {{/select}}
+ {{if $amort_trans_id != null}}
{{:save
- key=$info_immo.key
- status=$status
+ key=""|uuid
+ type="amort_link"
+ immo_doc_id=$_GET.immo_doc_id|intval
+ amort_line_id=$amort_line_id|intval
}}
{{/if}}
- {{:redirect force="amortization.html?immo_line_id=%s&immo_doc_id=%s&type_immo=%s&ok=1&msg=amortissement"|args:$_GET.immo_line_id:$_GET.immo_doc_id:$status}}
+ {{:redirect force="amortization.html?immo_line_id=%s&immo_doc_id=%s&ok=1&msg=amortissement"|args:$_GET.immo_line_id:$_GET.immo_doc_id}}
{{/form}}
{{:admin_header title="Ajout amortissement" custom_css="./style.css" current="module_amortization"}}