{{* -*- brindille -*- *}} {{* Associer des écritures de crédit à une immo créée et sortie du bilan avant la mise en service du module @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="info_immo, ligne_immo, message"}} {{if $message != null}} {{:error message=$message}} {{/if}} {{: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(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}} {{/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_avoir"}} {{:assign msg="Écriture d'avoir attachée"}} {{elseif $_GET.msg|match:"detach_avoir"}} {{:assign msg="Écriture d'avoir détachée"}} {{/if}}
{{$msg}}
{{/if}}| N° | Date | Libellé | Montant | N° compte | Compte | {{#foreach from=$linked_immos item="line"}} {{:assign 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}} |
| #{{$line.trans_id}} | {{$line.date|date_short}} | {{$line.label}} | {{"%f"|math:$line.amount|money_currency_html:false|raw}} | {{$line.account_code}} | {{$line.account_label}} | {{:linkbutton label="Détacher" href="detach_credit.html?immo_doc_id=%s&credit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.credit_line_id shape="minus"}} |
Vous pouvez attacher une ou plusieurs écritures d'avoir à votre immobilisation
{{else}}Aucune écriture au crédit du compte d'immobilisation ; vous pouvez passer à la suite
{{/if}} {{if $credit_lines}}| N° | Date | Libellé | Montant | N° compte | Compte | |
| #{{$trans_id}} | {{$date|date_short}} | {{$trans_label}} {{if $line_label != null && $line_label != $trans_label}} — {{$line_label}}{{/if}} | {{$amount|money_html|raw}} | {{$account_code}} | {{$account_label}} | {{:linkbutton label="Attacher" href="attach_credit.html?immo_doc_id=%s&credit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$credit_line_id shape="plus" target="_dialog"}} |