{{* -*- brindille -*- *}} {{* Associer les différentes écritures à une immo créée avant la mise en service du module et sortie du bilan @param immo_doc_id : id du doc associé à l'immobilisation *}} {{* données de l'immobilisation *}} {{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id keep="ligne_immo, message"}} {{if $message != null}} {{:error message=$message}} {{/if}} {{* voir si un document a été associé à l'immo *}} {{#load id=$ligne_immo.line_id assign="info_immo"}}{{/load}} {{#form on="backward"}} {{:redirect to="exit_step1.html?immo_doc_id=%s"|args:$_GET.immo_doc_id}} {{/form}} {{#form on="forward"}} {{:redirect to="exit_step3.html?immo_doc_id=%s"|args:$_GET.immo_doc_id}} {{/form}} {{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} {{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}} {{/if}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}} {{:assign date_immo=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} {{:assign montant_immo=$info_immo.amount|or:$ligne_immo.amount}} {{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} {{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_immos, total_credits"}} {{:assign solde="%d-%d"|math:$montant_immo:$total_credits}} {{* lister les amortissements liés à l'immobilisation *}} {{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_amort, total_amort"}} {{* chercher des écritures au crédit du compte de l'immo sans doc associé - line.credit < ligne_immo.amount => peut-être un avoir - line.credit = ligne_immo.amount - avoirs => écriture de sortie du bilan *}} {{#select trans.id as trans_id, trans.label as trans_label, trans.date as date, trans.id_year as year, line.id as credit_line_id, line.label as line_label, line.credit as amount, acc.id as account_id, acc.code as account_code, acc.label as account_label FROM acc_transactions AS trans INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id INNER JOIN acc_accounts AS acc ON line.id_account = acc.id LEFT JOIN module_data_amortization AS mda ON json_extract(mda.document, '$.amort_line_id') = line.id WHERE acc.code = :acc_code AND line.credit > 0 AND credit_line_id NOT IN ( SELECT json_extract(link.document, '$.credit_line_id') AS line_id FROM !table as link WHERE json_extract(link.document, '$.type') == "credit_link") ; :acc_code=$ligne_immo.account_code !table =$module.table assign="credit_line" }} {{if $credit_line.amount < $solde}} {{:assign var="credit_lines." value=$credit_line}} {{elseif $credit_line.amount == $solde}} {{:assign var="exit_lines." value=$credit_line}} {{/if}} {{/select}} {{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}} {{:include file="./_get_amort_code.html" code_immo=$ligne_immo.account_code keep="code_amort" }} {{* chercher des écritures d'amortissement correspondant au compte d'une immo sans doc associé *}} {{* TODO écritures d'amort pas entièrement affectées *}} {{#select line.id as amort_line_id, line.credit as amort_amount, line.label as line_label, trans.id as amort_trans_id, trans.date as date, trans.label as trans_label, trans.id_year as year, account.id as account_id, account.code as account_code, account.label as account_label FROM acc_transactions_lines AS line INNER JOIN acc_accounts AS account ON line.id_account = account.id INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id WHERE account.code = :code_amort AND line.credit > 0 AND (NOT trans.status & 16) AND trans.date >= :immo_date ; :code_amort = $code_amort :immo_date=$date_immo assign="amort_line" }} {{* voir s'il existe des lignes d'immo liées à cette ligne d'amortissement *}} {{:assign amort_amount=0}} {{:assign keep_amort=true}} {{#load type="amort_link" where="$$.amort_line_id = :amort_line_id" :amort_line_id=$amort_line.amort_line_id|intval assign="amort_link" }} {{if $amort_link.amount == null || $amort_link.amount == 0}} {{:assign amort_amount=$amort_line.amort_amount}} {{:assign keep_amort=false}} {{else}} {{:assign amort_amount="%d+%d"|math:$amort_amount:$amort_link.amount}} {{/if}} {{else}} {{* pas de ligne d'immo liée à cette ligne d'amort => garder cette ligne d'amortissement *}} {{/load}} {{if $keep_amort && $amort_amount < $amort_line.amort_amount}} {{:assign var="free_amort_lines." value=$amort_line}} {{/if}} {{/select}} {{:admin_header title="Immobilisation sortie du bilan" custom_css="./style.css" current="module_amortization"}}
Immobilisation
#{{$ligne_immo.trans_id}} {{$label_immo}}
Compte d'immobilisation
{{$ligne_immo.account_code}} — {{$ligne_immo.account_label}}
Montant de l'immobilisation
{{$ligne_immo.amount|money_html|raw}}
{{if $total_credits > 0}}
Montant des avoirs
{{"%f"|math:$total_credits|money_currency_html:false|raw}}
Montant à amortir
{{"%f"|math:$solde|money_currency_html:false|raw}}
{{/if}} {{if $total_amort > 0}}
Montant des amortissements
{{$total_amort|money_currency_html:false|raw}}
Valeur nette résiduelle
{{"%d-%d"|math:$solde:$total_amort|money_currency_html:false|raw}}
{{/if}}
{{if $linked_amort != null}}

Écritures d'amortissement attachées à l'immobilisation

{{#foreach from=$linked_amort|ksort item="line"}} {{* données de l'écriture *}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.trans_id}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.year}} {{/foreach}}
Date Libellé Montant N° compte Compte
#{{$line.trans_id}} {{$line.date|date_short}} {{if $line.line_label != null}} {{$line.line_label}} {{else}} {{$line.trans_label}} {{/if}} {{"%f"|math:$line.amount|money_html:false|raw}} {{$line.account_code}} {{$line.account_label}} {{:linkbutton label="Détacher" href="detach_amort.html?immo_doc_id=%s&amort_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.line_id shape="minus"}}
{{else}}

Vous pouvez attacher une ou plusieurs écritures d'amortissement à votre immobilisation

{{/if}}

Autres écritures d'amortissements

{{if $free_amort_lines}} {{#foreach from=$free_amort_lines item="line"}} {{:assign amort_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.year}} {{/foreach}}
Date Libellé Montant N° compte Compte
#{{$line.amort_trans_id}} {{$line.date|date_short}} {{$line.trans_label}} {{if $line.line_label != null && $line.line_label != $line.trans_label}} — {{$line.line_label}}{{/if}} {{"%f"|math:$line.amort_amount|money_html:false|raw}} {{$line.account_code}} {{$line.account_label}} {{:linkbutton label="Attacher" href="attach_amort.html?immo_doc_id=%s&amort_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.amort_line_id shape="plus" target="_dialog"}}
{{/if}}

{{:button type="submit" name="backward" label="Revenir à l'étape précédente" shape="left" class="main"}} {{:button type="submit" name="forward" label="Poursuivre" shape="right" class="main"}}