{{* -*- 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 *}} {{* TODO : affichage après attachement écriture sortie bilan (ligne attachée, bouton détacher) *}} {{* données de l'immobilisation *}} {{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id keep="info_immo, ligne_immo, message"}} {{if $message != null}} {{:error message=$message}} {{/if}} {{#form on="backward"}} {{:redirect to="exit_step2.html?immo_doc_id=%s"|args:$_GET.immo_doc_id}} {{/form}} {{#form on="validate"}} {{* mettre à jour l'état de l'immobilisation *}} {{:save key=$info_immo.key status="archived" }} {{:redirect to="index.html?type_immo=archived"}} {{/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 une écriture de sortie de bilan associée *}} {{#load type="exit_link" where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id=$info_immo.id assign="exit_info"}} {{/load}} {{if $exit_info != null}} {{#select trans.id as trans_id, trans.label as trans_label, trans.date as date, line.id as 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 WHERE line.id = :exit_line_id; :exit_line_id = $exit_info.exit_line_id assign="exit_line" }} {{/select}} {{/if}} {{* 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(credit_link.document, '$.credit_line_id') AS line_id FROM !table as credit_link WHERE json_extract(credit_link.document, '$.type') == "credit_link" UNION SELECT json_extract(exit_link.document, '$.exit_line_id') AS line_id FROM !table as exit_link WHERE json_extract(exit_link.document, '$.type') == "exit_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"}} {{if $_GET.ok}} {{if $_GET.msg|match:"attach_exit"}} {{:assign msg="Écriture de sortie de bilan attachée"}} {{elseif $_GET.msg|match:"detach_exit"}} {{:assign msg="Écriture de sortie de bilan détachée"}} {{/if}}

{{$msg}}

{{/if}}
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 $exit_line != null}}

Écriture de sortie du bilan attachée à l'immobilisation

Date Libellé Montant N° compte Compte
#{{$exit_line.trans_id}} {{$exit_line.date|date_short}} {{if $exit_line.line_label != null}} {{$exit_line.line_label}} {{else}} {{$exit_line.trans_label}} {{/if}} {{"%f"|math:$exit_line.amount|money_html:false|raw}} {{$exit_line.account_code}} {{$exit_line.account_label}} {{:linkbutton label="Détacher" href="detach_exit.html?immo_doc_id=%s&exit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$exit_line.line_id shape="minus"}}
{{else}}

Vous pouvez attacher une écriture de sortie du bilan à votre immobilisation

{{/if}} {{if $exit_lines}}

Écritures non rattachées

{{#foreach from=$exit_lines item="line"}} {{:assign exit_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}} {{$line.trans_label}} {{if $line.line_label != null && $line.line_label != $line.trans_label}} — {{$line.line_label}}{{/if}} {{"%f"|math:$line.amount|money_html:false|raw}} {{$line.account_code}} {{$line.account_label}} {{:linkbutton label="Attacher" href="attach_exit.html?immo_doc_id=%s&exit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.credit_line_id shape="plus"}}
{{elseif $exit_line == null}}

Aucune écriture de sortie du bilan

{{/if}}

{{:button type="submit" name="backward" label="Revenir à l'étape précédente" shape="left" class="main"}} {{if $exit_line}} {{:button type="submit" name="validate" label="Valider" shape="check" class="main"}} {{/if}}