{{* -*- brindille -*- *}} {{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortissement"}} {{* barre de navigation *}} {{:include file="_nav.html" current="index" subcurrent="amortization"}} {{if $_GET.ok}} {{if $_GET.msg|match:"attach"}} {{:assign msg="Attachement effectué (écriture %s)"|args:$_GET.trans_id}} {{elseif $_GET.msg|match:"detach"}} {{:assign msg="Attachement supprimé (écriture %s)"|args:$_GET.trans_id}} {{elseif $_GET.msg|match:"amortissement"}} {{:assign msg="Amortissement enregistré"}} {{/if}}

{{$msg}}

{{elseif $_GET.err}} {{if $_GET.msg|match:"attach"}} {{:assign msg="Échec attachement"}} {{elseif $_GET.msg|match:"amortissement"}} {{:assign msg="Échec enregistrement amortissement"}} {{/if}}

{{$msg}}

{{/if}} {{* récupérer les infos de l'immobilisation *}} {{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}} {{else}} {{:error message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}} {{/load}} {{:assign var="duree" from="info_immo.duration"|args:$_GET.immo_id}} {{:assign date_debut=$info_immo.date|date_short}} {{#select line.id as immo_id, line.id_account as account_id, line.id_project as project_id, line.debit as montant, trans.id as trans_id, trans.label as label, y.id as year_id, y.end_date as date_amort, project.label as project_label from acc_transactions_lines as line inner join acc_transactions as trans on line.id_transaction = trans.id inner join acc_years as y on trans.id_year = y.id left join acc_projects AS project ON line.id_project = project.id where line.id = :line_id; :line_id = $_GET.immo_id|intval assign=ligne_immo }}

Amortissement de « {{$label}} » d'un montant de {{"%f"|math:$montant|money_currency}} en date du {{$date_debut}} sur {{$duree}} ans

{{else}} {{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}} {{/select}} {{* chercher des écritures d'amortissement liées à l'immobilisation *}} {{#select l_amort.credit as amort_amount, l_amort.label as amort_label, l_amort.id as amort_line, CASE links.id_related = t_immo.id WHEN true THEN links.id_transaction WHEN false THEN links.id_related END as amort_trans_id, trans.date as amort_date, trans.label as trans_label, trans.id_year as amort_year, acc.id as account_id, acc.code as account_code, acc.label as account_name FROM acc_transactions_lines as l_immo INNER JOIN acc_transactions as t_immo on t_immo.id = l_immo.id_transaction INNER JOIN acc_transactions_links as links ON ( t_immo.id = links.id_transaction OR t_immo.id = links.id_related ) INNER JOIN acc_transactions_lines as l_amort on amort_trans_id = l_amort.id_transaction INNER join acc_transactions as trans on l_amort.id_transaction = trans.id INNER join acc_accounts as acc on l_amort.id_account = acc.id WHERE l_immo.id = :line_id AND l_amort.credit <> 0 ORDER BY trans.date; :line_id = $_GET.immo_id|intval assign=linked_lines. }} {{:assign var="amort_years." value=$amort_year}} {{/select}} {{* montant de l'annuité théorique *}} {{:assign montant="%f"|math:$ligne_immo.montant}} {{:assign annuite="%f/%f"|math:$montant:$duree}} {{* première annuité *}} {{:assign date_amort=$ligne_immo.date_amort|date_short}} {{:include file="_calcul_dates.html" date_debut=$date_debut date_fin=$date_amort keep="nbjours"}} {{:assign annuite_1="%f/360*%d"|math:$annuite:$nbjours|intval}} {{:assign annuite_courante=$annuite_1}} {{:assign current_year=$ligne_immo.year_id}} {{:assign solde=$ligne_immo.montant}} {{:assign nbamort=0}} {{if $linked_lines != null}}

Amortissements attachés à « {{$ligne_immo.trans_id}} {{$ligne_immo.label}} » ({{"%f"|math:$ligne_immo.montant|money_currency}}, {{$date_debut}})

{{#foreach from=$linked_lines item="line"}} {{* données de l'écriture *}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.amort_trans_id}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.amort_year}} {{:assign solde="%f-%d"|math:$solde:$line.amort_amount}} {{:assign date_amort=$line.amort_date}} {{:assign current_year=$line.amort_year}} {{:assign annuite_courante=$annuite}} {{:assign jour=$date_amort|date:"d"}} {{:assign mois=$date_amort|date:"m"}} {{:assign annee=$date_amort|date:"Y"}} {{:assign annee="%d+1"|math:$annee}} {{:assign date_amort="%s/%s/%s"|args:$jour:$mois:$annee|parse_date|date_short}} {{:assign nbamort="%d+1"|math:$nbamort}} {{/foreach}}
Date Montant Solde Libellé N° compte Compte
#{{$line.amort_trans_id}} {{$line.amort_date|date_short}} {{"%f"|math:$line.amort_amount|money}} {{"%f"|math:$solde|money}} {{if $line.amort_label == null}} {{$line.trans_label}} {{else}} {{$line.amort_label}} {{/if}} {{$line.account_code}} {{$line.account_name}} {{:linkbutton label="Détacher" href="detach_amort.html?amort_id=%d&immo_id=%d"|args:$line.amort_line:$ligne_immo.immo_id shape="plus"}}
{{/if}} {{if $solde > 0}} {{:assign project_id=$ligne_immo.project_id}} {{:assign project_label=$ligne_immo.project_label}} {{:assign nbamort="%d-%d"|math:$duree:$nbamort}} {{:assign annuite_courante="min(%f,%f)"|math:$annuite_courante:$solde}}

Amortissements à enregistrer

{{#foreach count="%d+1"|math:$nbamort key="num"}} {{:assign solde_prec=$solde}} {{:assign solde="%f-%d"|math:$solde:$annuite_courante}} {{#select id from acc_years where :amort_date >= start_date and :amort_date <= end_date and status == 0; :amort_date=$date_amort|parse_date}} {{:assign enregistrer=1}} {{:assign current_year=$id}} {{else}} {{:assign enregistrer=0}} {{/select}} {{:assign jour=$date_amort|date:"d"}} {{:assign mois=$date_amort|date:"m"}} {{:assign annee=$date_amort|date:"Y"}} {{:assign annee="%d+1"|math:$annee}} {{:assign date_amort="%s/%s/%s"|args:$jour:$mois:$annee|parse_date|date_short}} {{:assign annuite_courante="min(%f,%f)"|math:$annuite:$solde}} {{if $solde == 0}}{{:break}}{{/if}} {{/foreach}}
Date Montant Solde Libellé
{{"%d+1"|math:$num}} {{$date_amort}} {{"%f"|math:$annuite_courante|money}} {{if $solde == 0}}0,00{{else}}{{"%f"|math:$solde|money}}{{/if}} {{if $libelle == null}} {{:assign libelle="Amortissement "|cat:$ligne_immo.label}} {{/if}} {{$libelle}} {{if $enregistrer == 1}} {{:linkbutton label="Créer l'écriture" href="save_amort.html?amount=%d&account=%s&year=%s&trans_id=%d&immo_id=%s&project_id=%d&label=%s&solde=%d"|args:$annuite_courante:$ligne_immo.account_id:$current_year:$ligne_immo.trans_id:$_GET.immo_id:$project_id:$libelle:$solde_prec shape="right" target="_dialog" }} {{/if}}
{{/if}} {{* Autres amortissements non rattachés *}} {{#select li.id as l_id, li.id_transaction as t_id, li.credit as montant, li.reference, li.label as l_label, trans.date as t_date, trans.label as t_label, acc.code as a_code, acc.label as a_label, y.label as y_label from acc_transactions_lines as li inner join acc_accounts as acc on acc.id = li.id_account inner join acc_transactions as trans on trans.id = li.id_transaction inner join acc_years as y on y.id = trans.id_year where acc.code like "28%" order by trans.date, trans.label; assign=autre_amort }} {{#select id_transaction, id_related from acc_transactions_links where id_transaction = :id_amort or id_related = :id_amort; :id_amort=$t_id }} {{else}} {{:assign var="autres_amortissements." value=$autre_amort}} {{/select}} {{/select}} {{if $autres_amortissements != null}}

Autres amortissements non rattachés

{{#foreach from=$autres_amortissements item="line"}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.t_id}} {{/foreach}}
Date Montant Libellé N° compte Compte
#{{$line.t_id}} {{$line.t_date|date_short}} {{"%f"|math:$line.montant|money}} {{if $line.l_label == null}} {{$line.t_label}} {{else}} {{$line.l_label}} {{/if}} {{$line.a_code}} {{$line.a_label}} {{:linkbutton label="Attacher" href="attach_amort.html?amort_id=%d&immo_id=%d"|args:$line.l_id:$ligne_immo.immo_id shape="plus"}}
{{/if}} {{:form_errors}} {{:admin_footer}}