Compare commits

...

7 commits
v0.41 ... main

Author SHA1 Message Date
Jean-Christophe Engel
371d9dd0e3 Suppression condition sélection trop restrictive 2026-09-30 11:25:03 +02:00
Jean-Christophe Engel
9c3682b29c Correction erreur nom fichier 2026-09-28 15:07:14 +02:00
Jean-Christophe Engel
c24e57e490 Merge branch 'reorg_sdb' 2026-09-28 14:25:52 +02:00
Jean-Christophe Engel
428aa1be28 Masquer bouton Attacher amortissement si vnr = 0 2026-09-28 14:24:51 +02:00
Jean-Christophe Engel
7ddbf4748d Sortie de bilan : cas où les amortissements sont dans des comptes différents 2026-09-28 14:19:10 +02:00
Jean-Christophe Engel
d0807b2c9c Ajout lister avoirs tous comptes 2026-09-25 11:43:50 +02:00
Jean-Christophe Engel
b8ae97b10a Correction message erreur non affiché 2026-09-25 11:25:13 +02:00
15 changed files with 124 additions and 90 deletions

View file

@ -26,7 +26,7 @@
{{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}} {{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}}
{{/foreach}} {{/foreach}}
{{:assign filter_condition=$filter_condition|cat:"0)"}} {{:assign filter_condition=$filter_condition|cat:"0)"}}
{{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16) AND NOT "|cat:$filter_condition|cat:" AND "|cat:$status_condition}} {{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT "|cat:$filter_condition|cat:" AND "|cat:$status_condition}}
{{:assign total_cessions = 0}} {{:assign total_cessions = 0}}

View file

@ -4,6 +4,7 @@
lister les lignes d'amortissement liées à la ligne d'immobilisation lister les lignes d'amortissement liées à la ligne d'immobilisation
@param immo_doc_id : id du doc associé à l'immobilisation @param immo_doc_id : id du doc associé à l'immobilisation
@result linked_amort : lignes d'amortissement liées à la ligne d'immobilisation @result linked_amort : lignes d'amortissement liées à la ligne d'immobilisation
@result sommes_amort : montant des amortissements par compte d'amortissement
@result total_amort : montant total des amortissements de l'immobilisation @result total_amort : montant total des amortissements de l'immobilisation
@result created_amort : vrai s'il y a au moins un amortissement créé par le module dans la liste @result created_amort : vrai s'il y a au moins un amortissement créé par le module dans la liste
*}} *}}
@ -39,6 +40,8 @@
{{:assign var="created_amort" value=true}} {{:assign var="created_amort" value=true}}
{{/if}} {{/if}}
{{:assign var="linked_amort.%s_%d"|args:$amort_line.date:$amort_info.id value=$amort_line}} {{:assign var="linked_amort.%s_%d"|args:$amort_line.date:$amort_info.id value=$amort_line}}
{{:assign var="montant" from="sommes_amort.%s"|args:$account_code}}
{{:assign var="sommes_amort.%s"|args:$account_code value="%d+%d"|math:$montant:$amort_line.amount}}
{{:assign total_amort="%d+%d"|math:$total_amort:$amort_line.amount}} {{:assign total_amort="%d+%d"|math:$total_amort:$amort_line.amount}}
{{/select}} {{/select}}
{{/load}} {{/load}}

View file

@ -18,7 +18,7 @@
FROM acc_transactions_lines AS line FROM acc_transactions_lines AS line
INNER JOIN acc_accounts AS account ON account.id = line.id_account INNER JOIN acc_accounts AS account ON account.id = line.id_account
INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction
WHERE credit > 0 AND (NOT trans.status & 16) AND !condition WHERE credit > 0 AND !condition
ORDER BY trans.date, trans.label; ORDER BY trans.date, trans.label;
!condition=$condition !condition=$condition
assign="amort_line" assign="amort_line"

View file

@ -50,7 +50,7 @@
{{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
{{/foreach}} {{/foreach}}
{{:assign account_condition=$account_condition|cat:"0)"}} {{:assign account_condition=$account_condition|cat:"0)"}}
{{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16) AND "|cat:$doc_condition}} {{:assign condition=$account_condition|cat:" AND debit > 0 AND "|cat:$doc_condition}}
{{:assign nb_ignored=0}} {{:assign nb_ignored=0}}
{{#select {{#select
@ -79,7 +79,7 @@
!condition=$condition !condition=$condition
assign="immo_line" assign="immo_line"
}} }}
{{if $immo_line.status == 'managed'}} {{if $immo_line.status == 'managed' || $immo_line.status == 'amortized'}}
{{if $immo_line.amount == null || $immo_line.amount == 0 || $immo_line.amount == $immo_line.debit}} {{if $immo_line.amount == null || $immo_line.amount == 0 || $immo_line.amount == $immo_line.debit}}
{{:continue}} {{:continue}}
{{/if}} {{/if}}
@ -169,7 +169,10 @@ function changeVisibility(evt, idcheck = 'f_unhide_1') {
} }
(function () { (function () {
document.getElementById('f_unhide_1').onclick = changeVisibility; let unhide_button = document.getElementById('f_unhide_1');
if (unhide_button != null) {
unhide_button.onclick = changeVisibility;
}
})(); })();
</script> </script>

View file

@ -45,7 +45,7 @@
{{:assign accounts_condition=$accounts_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{:assign accounts_condition=$accounts_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
{{/foreach}} {{/foreach}}
{{:assign accounts_condition=$accounts_condition|cat:"0)"}} {{:assign accounts_condition=$accounts_condition|cat:"0)"}}
{{:assign condition=$accounts_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}} {{:assign condition=$accounts_condition|cat:" AND debit > 0"}}
{{:assign filter_condition=" NOT ("}} {{:assign filter_condition=" NOT ("}}
{{#foreach from=$module.config.filters item="filter"}} {{#foreach from=$module.config.filters item="filter"}}

View file

@ -130,7 +130,7 @@
{{/if}} {{/if}}
{{/if}} {{/if}}
{{:redirect to="compute_exit_data.html?immo_doc_id=%s&amort_amount=%s&year=%s&date_debut=%s&exit_date=%s"|args:$_GET.immo_doc_id:$total_amort:$selected_year:$ts_debut:$ts_exit}} {{:redirect to="compute_exit_data.html?immo_doc_id=%s&year=%s&date_debut=%s&exit_date=%s"|args:$_GET.immo_doc_id:$selected_year:$ts_debut:$ts_exit}}
{{/form}} {{/form}}
{{:admin_header title="Sortie de bilan" custom_css="./style.css" current="module_amortization"}} {{:admin_header title="Sortie de bilan" custom_css="./style.css" current="module_amortization"}}

View file

@ -4,7 +4,6 @@
Calculer les valeurs de la sortie et saisir le montant de la cession (optionnel) Calculer les valeurs de la sortie et saisir le montant de la cession (optionnel)
paramètres : paramètres :
@param immo_doc_id : id du doc associé à l'immo @param immo_doc_id : id du doc associé à l'immo
@param amort_amount : montant des amortissements
@param year : exercice de la date de sortie de l'immobilisation @param year : exercice de la date de sortie de l'immobilisation
@param date_debut : date de début de la période d'amortissement complémentaire @param date_debut : date de début de la période d'amortissement complémentaire
@param exit_date : date de sortie de l'immobilisation @param exit_date : date de sortie de l'immobilisation
@ -35,7 +34,10 @@
{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} {{* 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="total_credits"}} {{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_credits"}}
{{:assign var="ligne_immo.amount" value="%d-%d"|math:$ligne_immo.amount:$total_credits}} {{:assign var="ligne_immo.amount" value="%d-%d"|math:$ligne_immo.amount:$total_credits}}
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.amount:$_GET.amort_amount}}
{{* 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"}}
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.amount:$total_amort}}
{{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}} {{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}}
{{if $valeur_nette > 0}} {{if $valeur_nette > 0}}
@ -53,7 +55,7 @@
{{/if}} {{/if}}
{{/if}} {{/if}}
{{:redirect to="write_exit.html?immo_doc_id=%s&amort_amount=%s&year=%s&date_debut=%s&exit_date=%s&cession=%s"|args:$_GET.immo_doc_id:$_GET.amort_amount:$_GET.year:$_GET.date_debut:$_GET.exit_date:$_POST.montant_cession}} {{:redirect to="write_exit.html?immo_doc_id=%s&year=%s&date_debut=%s&exit_date=%s&cession=%s"|args:$_GET.immo_doc_id:$_GET.year:$_GET.date_debut:$_GET.exit_date:$_POST.montant_cession}}
{{/form}} {{/form}}
{{:admin_header title="Sortie du bilan" custom_css="./style.css" current="module_amortization"}} {{:admin_header title="Sortie du bilan" custom_css="./style.css" current="module_amortization"}}
@ -87,7 +89,7 @@
<dt>Durée de l'amortissement</dt> <dt>Durée de l'amortissement</dt>
<dd id="duree_amort" class="num">{{$info_immo.duration}} ans</dd> <dd id="duree_amort" class="num">{{$info_immo.duration}} ans</dd>
<dt>Montant des amortissements</dt> <dt>Montant des amortissements</dt>
<dd id="montant_amort" class="money">{{$_GET.amort_amount|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd> <dd id="montant_amort" class="money">{{$total_amort|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd>
<dt>Valeur nette résiduelle</dt> <dt>Valeur nette résiduelle</dt>
<dd class="money">{{$valeur_nette|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd> <dd class="money">{{$valeur_nette|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd>
<dt>Date de sortie</dt> <dt>Date de sortie</dt>
@ -96,7 +98,7 @@
<dt>Amortissement complémentaire</dt> <dt>Amortissement complémentaire</dt>
<dd class="money">{{$amort_comp|money_currency_html:false|raw}} <span class="help">(jusqu'à la date de sortie)</span></dd> <dd class="money">{{$amort_comp|money_currency_html:false|raw}} <span class="help">(jusqu'à la date de sortie)</span></dd>
<dt>Total des amortissements</dt> <dt>Total des amortissements</dt>
<dd class="money">{{"%f+%f"|math:$_GET.amort_amount:$amort_comp|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd> <dd class="money">{{"%f+%f"|math:$total_amort:$amort_comp|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd>
<dt>Valeur nette résiduelle</dt> <dt>Valeur nette résiduelle</dt>
<dd class="money">{{"%f-%f"|math:$valeur_nette:$amort_comp|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd> <dd class="money">{{"%f-%f"|math:$valeur_nette:$amort_comp|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd>
{{/if}} {{/if}}

View file

@ -102,7 +102,6 @@
WHERE WHERE
account.code = :code_amort account.code = :code_amort
AND line.credit > 0 AND line.credit > 0
AND (NOT trans.status & 16)
AND trans.date >= :immo_date AND trans.date >= :immo_date
; ;
:code_amort = $code_amort :code_amort = $code_amort

View file

@ -43,6 +43,7 @@
{{* lister les amortissements liés à l'immobilisation *}} {{* 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"}} {{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_amort, total_amort"}}
{{:assign vnr="%d-%d"|math:$solde:$total_amort}}
{{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}} {{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}}
{{:include {{:include
@ -69,7 +70,6 @@
WHERE WHERE
account.code = :code_amort account.code = :code_amort
AND line.credit > 0 AND line.credit > 0
AND (NOT trans.status & 16)
AND trans.date >= :immo_date AND trans.date >= :immo_date
; ;
:code_amort = $code_amort :code_amort = $code_amort
@ -132,12 +132,12 @@
<dt>Montant des amortissements</dt> <dt>Montant des amortissements</dt>
<dd>{{$total_amort|money_currency_html:false|raw}}</dd> <dd>{{$total_amort|money_currency_html:false|raw}}</dd>
<dt>Valeur nette résiduelle</dt> <dt>Valeur nette résiduelle</dt>
<dd>{{"%d-%d"|math:$solde:$total_amort|money_currency_html:false|raw}}</dd> <dd>{{$vnr|money_currency_html:false|raw}}</dd>
{{/if}} {{/if}}
</dl> </dl>
</div> </div>
{{if $free_amort_lines}} {{if $free_amort_lines && $vnr > 0}}
<nav class="actions"> <nav class="actions">
{{:linkbutton {{:linkbutton
label="Attacher une écriture d'amortissement" label="Attacher une écriture d'amortissement"

View file

@ -70,6 +70,7 @@
{{/select}} {{/select}}
{{* lignes de l'écriture de sortie *}} {{* lignes de l'écriture de sortie *}}
{{:assign exit_amort=0}}
{{#select {{#select
line.label as line_label, line.label as line_label,
line.credit, line.credit,
@ -85,15 +86,10 @@
assign="trans" assign="trans"
}} }}
{{:assign var="exit_trans.%s"|args:$account_code value=$trans}} {{:assign var="exit_trans.%s"|args:$account_code value=$trans}}
{{/select}} {{if $account_code|strpos:"28" === 0}}
{{:assign exit_amort="%d+%d"|math:$exit_amort:$debit}}
{{:assign acc_codes=$exit_trans|keys}}
{{#foreach from=$linked_amort}}
{{if $account_code|in:$acc_codes}}
{{:assign var="exit_amort" from="exit_trans.%s.debit"|args:$account_code}}
{{:break}}
{{/if}} {{/if}}
{{/foreach}} {{/select}}
{{if $exit_amort != $total_amort}} {{if $exit_amort != $total_amort}}
{{:assign exit_amort_display=$exit_amort|money_currency:false|replace:" ":" "}} {{:assign exit_amort_display=$exit_amort|money_currency:false|replace:" ":" "}}
@ -175,7 +171,6 @@
WHERE WHERE
account.code = :code_amort account.code = :code_amort
AND line.credit > 0 AND line.credit > 0
AND (NOT trans.status & 16)
AND trans.date >= :immo_date AND trans.date >= :immo_date
; ;
:code_amort = $code_amort :code_amort = $code_amort
@ -313,7 +308,7 @@
{{if $exit_lines}} {{if $exit_lines}}
<nav class="actions"> <nav class="actions">
{{:linkbutton {{:linkbutton
label="Attacher une écriture sortie de bilan" label="Attacher une écriture de sortie de bilan"
href="list_exit.html?immo_doc_id=%s&filter=true&from=%s"|args:$_GET.immo_doc_id:$_GET.from shape="link" href="list_exit.html?immo_doc_id=%s&filter=true&from=%s"|args:$_GET.immo_doc_id:$_GET.from shape="link"
target="_dialog"}} target="_dialog"}}
</nav> </nav>

View file

@ -22,7 +22,7 @@
{{* Mise à niveau *}} {{* Mise à niveau *}}
{{:assign module_version="0.41"}} {{:assign module_version="0.41"}}
{{:include file="upgrade.html" module_version=$module_version}} {{:include file="_upgrade.html" module_version=$module_version}}
{{* supprimer les documents sans écriture associée *}} {{* supprimer les documents sans écriture associée *}}
{{:include file="_remove_orphan_docs.tpl"}} {{:include file="_remove_orphan_docs.tpl"}}

View file

@ -5,7 +5,7 @@
paramètre et proposer de les attacher à l'immo paramètre paramètre et proposer de les attacher à l'immo paramètre
@param immo_doc_id : document associé à l'immo @param immo_doc_id : document associé à l'immo
@param filter : si vrai ne montrer que les écritures du compte de l'immobilisation (et sous-comptes) @param filter : si vrai ne montrer que les écritures du compte de l'immobilisation (et sous-comptes)
dans le cas contraire, montrer les écritures du compte d'immo à deux chiffres (et sous-comptes) dans le cas contraire, montrer les écritures de tous les comptes d'immo
*}} *}}
{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} {{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}}
@ -32,11 +32,23 @@
{{* {{*
lister les écritures au crédit du compte de l'immobilisation lister les écritures au crédit du compte de l'immobilisation
*}} *}}
{{:include file="_get_config.html" keep="module.config"}}
{{if $_GET.filter}} {{if $_GET.filter}}
{{:assign account_code=$ligne_immo.account_code|cat:"%"}} {{:assign account_code=$ligne_immo.account_code|cat:"%"|quote_sql}}
{{:assign account_condition="account.code LIKE "|cat:$account_code}}
{{else}} {{else}}
{{:assign account_code=$ligne_immo.account_code|substr:0:2|cat:"%"}} {{:assign account_condition="("}}
{{#foreach from=$module.config.prefixes item="account_code"}}
{{:assign account_code=$account_code|cat:"%"|quote_sql}}
{{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$account_code|cat:" OR "}}
{{/foreach}}
{{#foreach from=$module.config.unfinished item="account_code"}}
{{:assign account_code=$account_code|cat:"%"|quote_sql}}
{{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$account_code|cat:" OR "}}
{{/foreach}}
{{:assign account_condition=$account_condition|cat:"0)"}}
{{/if}} {{/if}}
{{:assign date_immo=$info_immo.date_achat|or:$ligne_immo.date_achat}} {{:assign date_immo=$info_immo.date_achat|or:$ligne_immo.date_achat}}
{{#select {{#select
@ -55,7 +67,8 @@
INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction
INNER JOIN acc_accounts AS account ON account.id = line.id_account INNER JOIN acc_accounts AS account ON account.id = line.id_account
INNER JOIN acc_years AS y ON y.id = trans.id_year INNER JOIN acc_years AS y ON y.id = trans.id_year
WHERE account.code LIKE :account_code AND credit > 0 WHERE !account_condition
AND credit > 0
AND trans.date > :date_immo AND trans.date > :date_immo
AND credit_line_id NOT IN ( AND credit_line_id NOT IN (
SELECT json_extract(link.document, '$.credit_line_id') AS credit_line_id FROM !table as link SELECT json_extract(link.document, '$.credit_line_id') AS credit_line_id FROM !table as link
@ -64,7 +77,7 @@
SELECT json_extract(exit_link.document, '$.exit_line_id') AS line_id FROM !table as exit_link 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") WHERE json_extract(exit_link.document, '$.type') == "exit_link")
ORDER BY trans.date, trans.label; ORDER BY trans.date, trans.label;
:account_code = $account_code !account_condition = $account_condition
!table = $module.table !table = $module.table
:date_immo = $date_immo :date_immo = $date_immo
assign="credit_line" assign="credit_line"
@ -86,7 +99,6 @@
}} }}
{{/if}} {{/if}}
{{if $ligne_immo.account_code|substr:0:2 != $ligne_immo.account_code}}
<nav class="tabs"> <nav class="tabs">
<ul> <ul>
<li {{if $_GET.filter}}class="current"{{/if}}> <li {{if $_GET.filter}}class="current"{{/if}}>
@ -96,12 +108,11 @@
</li> </li>
<li {{if ! $_GET.filter}}class="current"{{/if}}> <li {{if ! $_GET.filter}}class="current"{{/if}}>
<a href="link_immo.html?immo_doc_id={{$_GET.immo_doc_id}}{{if $dialog}}&_dialog{{/if}}&from={{$_GET.from}}"> <a href="link_immo.html?immo_doc_id={{$_GET.immo_doc_id}}{{if $dialog}}&_dialog{{/if}}&from={{$_GET.from}}">
Compte {{$ligne_immo.account_code|substr:0:2}} et sous-comptes Tous les comptes
</a> </a>
</li> </li>
</ul> </ul>
</nav> </nav>
{{/if}}
<section class="immobilisation"> <section class="immobilisation">
<div class="informations"> <div class="informations">

View file

@ -1,5 +1,5 @@
name="Amortissements" name="Amortissements"
description="Immobilisations et amortissements\nversion 0.41" description="Immobilisations et amortissements\nversion 0.41.2"
author="Jean-Christophe Engel" author="Jean-Christophe Engel"
author_url="https://gitea.zaclys.com/lesanges" author_url="https://gitea.zaclys.com/lesanges"
home_button=false home_button=false

View file

@ -4,7 +4,6 @@
Enregistrer les écritures de sortie du bilan Enregistrer les écritures de sortie du bilan
paramètres : paramètres :
- immo_doc_id : id du doc associé à l'immobilisation - immo_doc_id : id du doc associé à l'immobilisation
- amort_amount : montant des amortissements
- year : exercice de la date de sortie de l'immobilisation - year : exercice de la date de sortie de l'immobilisation
- date_debut : date de début de la période d'amortissement complémentaire - date_debut : date de début de la période d'amortissement complémentaire
- exit_date : date de sortie de l'immobilisation - exit_date : date de sortie de l'immobilisation
@ -34,7 +33,10 @@
{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} {{* 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="total_credits"}} {{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_credits"}}
{{:assign var="ligne_immo.amount" value="%d-%d"|math:$ligne_immo.amount:$total_credits}} {{:assign var="ligne_immo.amount" value="%d-%d"|math:$ligne_immo.amount:$total_credits}}
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.amount:$_GET.amort_amount}}
{{* lister les amortissements liés à l'immobilisation *}}
{{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_amort, sommes_amort, total_amort"}}
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.amount:$total_amort}}
{{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}} {{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}}
{{:assign amort_except=0}} {{* amortissement exceptionnel jqà date fin amortissement *}} {{:assign amort_except=0}} {{* amortissement exceptionnel jqà date fin amortissement *}}
@ -45,7 +47,7 @@
{{:assign amort_comp="min(%f, %f)"|math:$valeur_nette:$amort_comp}} {{:assign amort_comp="min(%f, %f)"|math:$valeur_nette:$amort_comp}}
{{if $_GET.cession == null}} {{if $_GET.cession == null}}
{{:assign amort_except="%f-%f-%f"|math:$ligne_immo.amount:$_GET.amort_amount:$amort_comp}} {{:assign amort_except="%f-%f-%f"|math:$ligne_immo.amount:$total_amort:$amort_comp}}
{{/if}} {{/if}}
{{/if}} {{/if}}
@ -58,6 +60,11 @@
{{* numéros de comptes ; voir info.org *}} {{* numéros de comptes ; voir info.org *}}
{{:assign vnc_code="652"}} {{:assign vnc_code="652"}}
{{:assign cession_code="757"}} {{:assign cession_code="757"}}
{{:include
file="./_get_amort_code.html"
code_immo=$ligne_immo.account_code
keep="code_amort"
}}
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}
{{#form on="save"}} {{#form on="save"}}
@ -92,7 +99,7 @@
{{:assign {{:assign
var="lines." var="lines."
credit="%f/100"|math:$amort_comp credit="%f/100"|math:$amort_comp
account=$amort_account_code account=$code_amort|intval
id_project=$ligne_immo.id_project id_project=$ligne_immo.id_project
label=$libelle label=$libelle
}} }}
@ -117,7 +124,7 @@
{{:assign {{:assign
var="lines." var="lines."
credit="%f/100"|math:$amort_except credit="%f/100"|math:$amort_except
account=$amort_account_code account=$code_amort|intval
id_project=$ligne_immo.id_project id_project=$ligne_immo.id_project
label=$libelle label=$libelle
}} }}
@ -139,7 +146,7 @@
{{* liaisons lignes d'amortissement *}} {{* liaisons lignes d'amortissement *}}
{{#foreach from=$result.lines item="line"}} {{#foreach from=$result.lines item="line"}}
{{if $line.account_code == $amort_account_code}} {{if $line.account_code == $code_amort}}
{{:save {{:save
key=""|uuid key=""|uuid
type="amort_link" type="amort_link"
@ -167,13 +174,20 @@
id_project=$ligne_immo.id_project id_project=$ligne_immo.id_project
label=$libelle label=$libelle
}} }}
{{* amortissements *}}
{{#foreach from=$sommes_amort key="code" item="montant"}}
{{if $code == $code_amort}}
{{* amortissements complémentaire et exceptionnel *}}
{{:assign montant="(%d+%d+%d)"|math:$montant:$amort_comp:$amort_except}}
{{/if}}
{{:assign {{:assign
var="lines." var="lines."
account=$amort_account_code account=$code
debit="(%f-%f)/100"|math:$ligne_immo.amount:$valeur_nette debit="%d/100"|math:$montant
id_project=$ligne_immo.id_project id_project=$ligne_immo.id_project
label=$libelle label=$libelle
}} }}
{{/foreach}}
{{if $valeur_nette > 0}} {{if $valeur_nette > 0}}
{{:include {{:include
file="_get_codes.html" file="_get_codes.html"
@ -286,16 +300,12 @@
déterminer les comptes pour les différentes écritures déterminer les comptes pour les différentes écritures
*}} *}}
{{:include
file="./_get_amort_code.html"
code_immo=$ligne_immo.account_code
keep="code_amort"
}}
{{:assign var="liste_codes.6811" name="comp_account"}} {{:assign var="liste_codes.6811" name="comp_account"}}
{{:assign var="liste_codes.687" name="except_account"}} {{:assign var="liste_codes.687" name="except_account"}}
{{:assign var="liste_codes.462" name="creance_account"}} {{:assign var="liste_codes.462" name="creance_account"}}
{{:assign var="liste_codes.%s"|args:$code_amort name="amort_account"}} {{#foreach from=$sommes_amort key="code"}}
{{:assign var="liste_codes.%s"|args:$code name="amort_account"}}
{{/foreach}}
{{:assign var="liste_codes.%s"|args:$ligne_immo.account_code name="immo_account"}} {{:assign var="liste_codes.%s"|args:$ligne_immo.account_code name="immo_account"}}
{{:assign var="liste_codes.%s"|args:$vnc_code name="vnc_account"}} {{:assign var="liste_codes.%s"|args:$vnc_code name="vnc_account"}}
{{:assign var="liste_codes.%s"|args:$cession_code name="cession_account"}} {{:assign var="liste_codes.%s"|args:$cession_code name="cession_account"}}
@ -338,7 +348,6 @@
<h3>Sortir l'immobilisation « {{$label_immo}} » du bilan</h3> <h3>Sortir l'immobilisation « {{$label_immo}} » du bilan</h3>
<form method="post" action=""> <form method="post" action="">
<div class="informations"> <div class="informations">
<legend>Données de l'imobilisation</legend> <legend>Données de l'imobilisation</legend>
<dl class="describe"> <dl class="describe">
@ -353,7 +362,7 @@
<dt>Durée de l'amortissement</dt> <dt>Durée de l'amortissement</dt>
<dd class="num">{{$info_immo.duration}} ans</dd> <dd class="num">{{$info_immo.duration}} ans</dd>
<dt>Montant des amortissements</dt> <dt>Montant des amortissements</dt>
<dd class="money">{{$_GET.amort_amount|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd> <dd class="money">{{$total_amort|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd>
<dt>Valeur nette résiduelle</dt> <dt>Valeur nette résiduelle</dt>
<dd class="money">{{$valeur_nette|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd> <dd class="money">{{$valeur_nette|money_currency_html:false|raw}} <span class="help">(à la date de début de l'exercice)</span></dd>
<dt>Date de sortie</dt> <dt>Date de sortie</dt>
@ -363,7 +372,7 @@
<dt>Amortissement complémentaire</dt> <dt>Amortissement complémentaire</dt>
<dd class="money">{{$amort_comp|money_currency_html:false|raw}} <span class="help">(jusqu'à la date de sortie)</span></dd> <dd class="money">{{$amort_comp|money_currency_html:false|raw}} <span class="help">(jusqu'à la date de sortie)</span></dd>
<dt>Total des amortissements</dt> <dt>Total des amortissements</dt>
<dd class="money">{{"%f+%f"|math:$_GET.amort_amount:$amort_comp|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd> <dd class="money">{{"%f+%f"|math:$total_amort:$amort_comp|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd>
<dt>Valeur nette résiduelle</dt> <dt>Valeur nette résiduelle</dt>
<dd class="money">{{$valeur_nette|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd> <dd class="money">{{$valeur_nette|money_currency_html:false|raw}} <span class="help">(à la date de sortie)</span></dd>
{{/if}} {{/if}}
@ -383,6 +392,7 @@
<legend>Écritures de sortie du bilan</legend> <legend>Écritures de sortie du bilan</legend>
{{* Amortissement complémentaire *}} {{* Amortissement complémentaire *}}
{{if $amort_comp > 0}} {{if $amort_comp > 0}}
{{:assign var="account.%s"|args:$code from="amort_account.%s"|args:$code_amort}}
<table class="list"> <table class="list">
<thead> <thead>
<tr> <tr>
@ -417,7 +427,7 @@
name="amort_comp_account" name="amort_comp_account"
target="!acc/charts/accounts/selector.php?codes=%s&id_chart=%s"|args:"28*":$chart_id target="!acc/charts/accounts/selector.php?codes=%s&id_chart=%s"|args:"28*":$chart_id
readonly=true readonly=true
default=$amort_account default=$account
}} }}
</td> </td>
<td></td> <td></td>
@ -425,10 +435,12 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
{{:assign account=null}}
{{/if}} {{/if}}
{{* Amortissement exceptionnel *}} {{* Amortissement exceptionnel *}}
{{if $montant_cession == 0 && $amort_except > 0}} {{if $montant_cession == 0 && $amort_except > 0}}
{{:assign var="account.%s"|args:$code from="amort_account.%s"|args:$code_amort}}
<table class="list"> <table class="list">
<thead> <thead>
<tr> <tr>
@ -463,7 +475,7 @@
name="amort_except_account" name="amort_except_account"
target="!acc/charts/accounts/selector.php?codes=%s&id_chart=%s"|args:"28*":$chart_id target="!acc/charts/accounts/selector.php?codes=%s&id_chart=%s"|args:"28*":$chart_id
readonly=true readonly=true
default=$amort_account default=$account
}} }}
</td> </td>
<td></td> <td></td>
@ -471,6 +483,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
{{:assign account=null}}
{{/if}} {{/if}}
{{* Sortie du bilan *}} {{* Sortie du bilan *}}
@ -483,6 +496,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{#foreach from=$sommes_amort key="code" item="montant"}}
{{:assign var="account.%s"|args:$code from="amort_account.%s"|args:$code}}
<tr> <tr>
<td> <td>
{{:input {{:input
@ -490,17 +505,23 @@
name="amort_sortie_account" name="amort_sortie_account"
target="!acc/charts/accounts/selector.php?codes=%s&id_chart=%s"|args:"28*":$chart_id target="!acc/charts/accounts/selector.php?codes=%s&id_chart=%s"|args:"28*":$chart_id
readonly=true readonly=true
default=$amort_account default=$account
}} }}
</td> </td>
{{if $montant_cession == 0}} {{if $montant_cession == 0}}
{{:assign montant=$ligne_immo.amount}} {{if $code == $code_amort}}
{{:assign montant="%f+%f+%f"|math:$montant:$amort_comp:$amort_except}}
{{/if}}
{{else}} {{else}}
{{:assign montant="%f+%f"|math:$_GET.amort_amount:$amort_comp}} {{if $code == $code_amort}}
{{:assign montant="%f+%f"|math:$montant:$amort_comp}}
{{/if}}
{{/if}} {{/if}}
<td>{{$montant|money_currency_html:false|raw}}</td> <td>{{$montant|money_currency_html:false|raw}}</td>
<td></td> <td></td>
</tr> </tr>
{{:assign account=null}}
{{/foreach}}
{{if $montant_cession > 0 && $valeur_nette > 0}} {{if $montant_cession > 0 && $valeur_nette > 0}}
<tr> <tr>
<td> <td>