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"}}