Compare commits

...

8 commits

Author SHA1 Message Date
Jean-Christophe Engel
c93b33f923 Changement numéro version 2026-09-02 14:17:47 +02:00
Jean-Christophe Engel
575d3708d8 Masquer case à cocher affichage écritures ignorées si non pertinente 2026-09-02 14:00:28 +02:00
Jean-Christophe Engel
155e06d7fc Masquer affichage informations si non pertinentes 2026-09-02 12:08:49 +02:00
Jean-Christophe Engel
f9df1210bc Masquer titre tableau si aucune immobilisation 2026-09-02 11:25:31 +02:00
Jean-Christophe Engel
0511f22c44 Amélioration affichage liste avoirs 2026-09-02 11:03:11 +02:00
Jean-Christophe Engel
3bcd6bcdc8 Ne pas afficher montant par défaut si plus d'un exercice possible 2026-09-02 10:04:10 +02:00
Jean-Christophe Engel
ba3081cf00 Masquer titre tableau si aucune immobilisation 2026-09-02 10:03:03 +02:00
Jean-Christophe Engel
0a9e0e577a Amélioration libellés et textes explicatifs 2026-09-02 10:00:58 +02:00
10 changed files with 640 additions and 609 deletions

View file

@ -1,8 +1,10 @@
{{* -*- brindille -*- *}} {{* -*- brindille -*- *}}
{{* Liste des immobilisations sorties du bilan *}} {{* Liste des immobilisations sorties du bilan *}}
<p class="help"> <p class="block help">
Cette page liste les immobilisations sorties du bilan Cet onglet liste les immobilisations sorties du bilan car elles ne
sont plus utilisées dans l'association (vétusté, fin de vie,
vente, cession...).
</p> </p>
{{:include file="_get_config.html" keep="module.config"}} {{:include file="_get_config.html" keep="module.config"}}
@ -23,27 +25,10 @@
{{: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)"|cat:$filter_condition}} {{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}}
<section class="immobilisation"> {{:assign nb_immo=0}}
<table class="list"> {{:assign total_cessions = 0}}
<thead>
<tr>
<th></th>
<th>Mise en service</th>
<th>Date sortie</th>
<th>Libellé</th>
<th class="nombre">Montant</th>
<th>N° compte</th>
<th>Compte</th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
{{:assign nb_immo=0}} {{#select
{{:assign total_immo = 0}}
{{:assign total_cessions = 0}}
{{#select
trans.id as trans_id, trans.id as trans_id,
trans.label as trans_label, trans.label as trans_label,
trans.date as trans_date, trans.date as trans_date,
@ -61,7 +46,8 @@
WHERE !condition WHERE !condition
ORDER BY trans.date DESC; ORDER BY trans.date DESC;
!condition=$condition !condition=$condition
}} assign="immo_line"
}}
{{* voir si l'immo est prise en charge *}} {{* voir si l'immo est prise en charge *}}
{{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id assign="info_immo"}} {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id assign="info_immo"}}
@ -72,11 +58,11 @@
{{if $status != "archived"}} {{if $status != "archived"}}
{{:continue}} {{:continue}}
{{/if}} {{/if}}
{{:assign date_mes=$info_immo.date_mes|or:$trans_date}} {{:assign var="immo_line.date_mes" value=$info_immo.date_mes|or:$trans_date}}
{{:assign montant_immo=$debit}} {{:assign var="immo_line.montant_immo" value=$debit}}
{{* chercher le doc de sortie du bilan *}} {{* chercher le doc de sortie du bilan *}}
{{:assign exit_date=null}} {{:assign var="immo_line.exit_date" value=null}}
{{#load type="exit_link" where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id=$info_immo.id}} {{#load type="exit_link" where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id=$info_immo.id}}
{{:assign exit_line_id=$exit_line_id}} {{:assign exit_line_id=$exit_line_id}}
{{#select {{#select
@ -86,7 +72,7 @@
WHERE line.id = :exit_line_id; WHERE line.id = :exit_line_id;
:exit_line_id=$exit_line_id :exit_line_id=$exit_line_id
}} }}
{{:assign exit_date=$date}} {{:assign var="immo_line.exit_date" value=$date}}
{{/select}} {{/select}}
{{/load}} {{/load}}
@ -107,7 +93,7 @@
{{:assign total_credits="%d+%d"|math:$total_credits:$amount}} {{:assign total_credits="%d+%d"|math:$total_credits:$amount}}
{{/if}} {{/if}}
{{/load}} {{/load}}
{{:assign solde_immo="%d-%d"|math:$montant_immo:$total_credits}} {{:assign solde_immo="%d-%d"|math:$immo_line.montant_immo:$total_credits}}
{{if $solde_immo == 0}} {{if $solde_immo == 0}}
{{:assign status="archived"}} {{:assign status="archived"}}
@ -117,12 +103,9 @@
{{:continue}} {{:continue}}
{{/if}} {{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}
{{:assign nb_immo="%d+1"|math:$nb_immo}} {{:assign nb_immo="%d+1"|math:$nb_immo}}
{{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}}
{{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}}
{{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$montant_immo}} {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$immo_line.montant_immo}}
{{* voir s'il y a une écriture de cession associée à cette immo *}} {{* voir s'il y a une écriture de cession associée à cette immo *}}
{{#select {{#select
@ -143,6 +126,31 @@
{{:assign var="montant_cessions.%d"|args:$account_code value="%d+%d"|math:$montant:$debit}} {{:assign var="montant_cessions.%d"|args:$account_code value="%d+%d"|math:$montant:$debit}}
{{:assign total_cessions="%d+%d"|math:$total_cessions:$debit}} {{:assign total_cessions="%d+%d"|math:$total_cessions:$debit}}
{{/select}} {{/select}}
{{:assign var="immo_lines." value=$immo_line}}
{{/select}}
{{if $immo_lines|count > 0}}
<section class="immobilisation">
<table class="list">
<thead>
<tr>
<th></th>
<th>Mise en service</th>
<th>Date sortie</th>
<th>Libellé</th>
<th class="nombre">Montant</th>
<th>N° compte</th>
<th>Compte</th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
{{:assign total_immo = 0}}
{{#foreach from=$immo_lines}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}
{{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}}
<tr> <tr>
<td class="num"><a href="{{$trans_url}}">#{{$trans_id}}</a></td> <td class="num"><a href="{{$trans_url}}">#{{$trans_id}}</a></td>
@ -156,7 +164,7 @@
{{:linkbutton label="Modifier" href="exit_step1.html?immo_doc_id=%s&from=exit"|args:$info_immo.id shape="edit"}} {{:linkbutton label="Modifier" href="exit_step1.html?immo_doc_id=%s&from=exit"|args:$info_immo.id shape="edit"}}
</td> </td>
</tr> </tr>
{{/select}} {{/foreach}}
</tbody> </tbody>
<tfoot> <tfoot>
{{if $total_immo != 0}} {{if $total_immo != 0}}
@ -215,7 +223,7 @@
{{/if}} {{/if}}
</tfoot> </tfoot>
</table> </table>
{{if $nb_immo == 0}} </section>
{{else}}
<p class="block alert">Aucune immobilisation</p> <p class="block alert">Aucune immobilisation</p>
{{/if}} {{/if}}
</section>

View file

@ -4,31 +4,18 @@
{{:include file="_get_config.html" keep="module.config"}} {{:include file="_get_config.html" keep="module.config"}}
<p class="help"> <p class="block help">
{{if $type_immo == "managed"}} {{if $type_immo == "managed"}}
Cette page liste les immobilisations en cours d'amortissement Cet onglet liste les immobilisations en cours d'amortissement.
{{elseif $type_immo == "amortized"}} {{elseif $type_immo == "amortized"}}
Cette page liste les immobilisations dont l'amortissement est terminé Cet onglet liste les
immobilisations dont l'amortissement est terminé mais qui sont
encore utilisées dans l'association, donc encore présentes au
bilan.
{{/if}} {{/if}}
</p> </p>
{{if $module.table != null}} {{if $module.table != null}}
<table class="list">
<thead>
<tr>
<th class="num"></th>
<th>Date</th>
<th>Libellé</th>
<th class="nombre">Montant</th>
<th class="nombre">Durée</th>
<th class="nombre">Amortissements</th>
<th class="nombre">Valeur nette</th>
<th>N° compte</th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
{{* lister les immobilisations *}} {{* lister les immobilisations *}}
{{:assign account_condition="("}} {{:assign account_condition="("}}
{{#foreach from=$module.config.prefixes item="code"}} {{#foreach from=$module.config.prefixes item="code"}}
@ -39,8 +26,6 @@
{{:assign status_condition="($$.status = 'managed' OR $$.status = 'amortized')"}} {{:assign status_condition="($$.status = 'managed' OR $$.status = 'amortized')"}}
{{:assign condition=$account_condition|cat:" AND line.debit > 0 AND "|cat:$status_condition}} {{:assign condition=$account_condition|cat:" AND line.debit > 0 AND "|cat:$status_condition}}
{{:assign nb_immo=0}}
{{:assign total_immo = 0}}
{{#select {{#select
trans.id as immo_trans_id, trans.id as immo_trans_id,
trans.label as trans_label, trans.label as trans_label,
@ -67,19 +52,9 @@
ORDER BY COALESCE(doc_date_achat, trans_date) DESC; ORDER BY COALESCE(doc_date_achat, trans_date) DESC;
!table=$module.table !table=$module.table
!condition=$condition !condition=$condition
assign="immo_line"
}} }}
{{if $status != "managed" && $status != "amortized"}}
{{:continue}}
{{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$immo_trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}
{{:assign montant_immo=$doc_amount|or:$debit}} {{:assign montant_immo=$doc_amount|or:$debit}}
{{:assign immo_date = $doc_date_achat|or:$trans_date}}
{{:assign label_immo=$doc_label|or:$trans_label}}
{{if $label_immo|strpos:$line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$line_label}}
{{/if}}
{{* 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 *}}
{{#load {{#load
type="credit_link" type="credit_link"
@ -99,6 +74,8 @@
{{if $montant_immo == 0}} {{if $montant_immo == 0}}
{{* Immobilisation soldée *}} {{* Immobilisation soldée *}}
{{:continue}} {{:continue}}
{{else}}
{{:assign var="immo_line.montant_immo" value=$montant_immo}}
{{/if}} {{/if}}
{{* montant des amortissements liés à l'immobilisation *}} {{* montant des amortissements liés à l'immobilisation *}}
@ -108,11 +85,42 @@
{{* classement par onglet *}} {{* classement par onglet *}}
{{if $type_immo == "managed" && $amort_amount >= $montant_immo}}{{:continue}}{{/if}} {{if $type_immo == "managed" && $amort_amount >= $montant_immo}}{{:continue}}{{/if}}
{{if $type_immo == "amortized" && $amort_amount < $montant_immo}}{{:continue}}{{/if}} {{if $type_immo == "amortized" && $amort_amount < $montant_immo}}{{:continue}}{{/if}}
{{:assign var="immo_line.amort_amount" value=$amort_amount}}
{{:assign var="immo_lines." value=$immo_line}}
{{/select}}
{{if $immo_lines|count > 0}}
<table class="list">
<thead>
<tr>
<th class="num"></th>
<th>Date</th>
<th>Libellé</th>
<th class="nombre">Montant</th>
<th class="nombre">Durée</th>
<th class="nombre">Amortissements</th>
<th class="nombre">Valeur nette</th>
<th>N° compte</th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
{{:assign total_immo = 0}}
{{#foreach from=$immo_lines}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$immo_trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}
{{:assign immo_date = $doc_date_achat|or:$trans_date}}
{{:assign label_immo=$doc_label|or:$trans_label}}
{{if $label_immo|strpos:$line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$line_label}}
{{/if}}
{{:assign nb_immo="%d+1"|math:$nb_immo}}
{{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}} {{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}}
{{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}}
{{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$montant_immo}} {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$montant_immo}}
<tr> <tr>
<td class="num"><a href="{{$trans_url}}">#{{$immo_trans_id}}</a></td> <td class="num"><a href="{{$trans_url}}">#{{$immo_trans_id}}</a></td>
<td>{{$immo_date|date_short}}</td> <td>{{$immo_date|date_short}}</td>
@ -129,7 +137,9 @@
}} }}
</td> </td>
</tr> </tr>
{{/select}}
{{/foreach}}
</tbody> </tbody>
<tfoot> <tfoot>
{{if $total_immo != 0}} {{if $total_immo != 0}}
@ -163,7 +173,8 @@
{{/if}} {{/if}}
</tfoot> </tfoot>
</table> </table>
{{/if}}
{{/if}} {{/if}}
{{if $nb_immo == 0 || $module.table == null}} {{if $immo_lines|count == 0 || $module.table == null}}
<p class="block alert">Aucune immobilisation</p> <p class="block alert">Aucune immobilisation</p>
{{/if}} {{/if}}

View file

@ -3,10 +3,11 @@
{{* Liste des immobilisations non gérées ou non entièrement affectées *}} {{* Liste des immobilisations non gérées ou non entièrement affectées *}}
{{:include file="_get_config.html" keep="module.config"}} {{:include file="_get_config.html" keep="module.config"}}
<p class="help"> <p class="block help">
Cette page liste les immobilisations pas encore prises en charge Cet onglet liste les immobilisations créées en dehors du module et
par le module ou les écritures de la balance d'ouverture initiale pas encore prises en charge par le module ou les écritures de la
dont le montant n'est pas encore totalement affecté balance d'ouverture initiale dont le montant n'est pas encore
totalement affecté
</p> </p>
{{:assign saved_hides=$module.config.hides}} {{:assign saved_hides=$module.config.hides}}
@ -49,24 +50,9 @@
{{: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}}
{{if $unhide == null}}
{{:assign filter_condition="NOT ("}}
{{#foreach from=$module.config.filters item="filter"}}
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
{{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}}
{{/foreach}}
{{:assign filter_condition=$filter_condition|cat:"0)"}}
{{else}}
{{:assign filter_condition="1"}}
{{/if}}
{{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16) AND "|cat:$filter_condition|cat:" AND "|cat:$doc_condition}}
{{:assign nb_managed=0}}
{{:assign nb_ignored=0}} {{:assign nb_ignored=0}}
{{:assign nb_null=0}}
{{:assign nb_other=0}}
{{#select {{#select
trans.id as immo_trans_id, trans.id as immo_trans_id,
trans.label as trans_label, trans.label as trans_label,
@ -92,37 +78,45 @@
!table=$module.table !table=$module.table
!condition=$condition !condition=$condition
assign="immo_line" assign="immo_line"
}} }}
{{*
parmi les immos gérées, ne conserver que celles dont le montant dans le doc est non nul
et inférieur au montant de l'écriture d'immo
*}}
{{if $immo_line.status == 'managed'}} {{if $immo_line.status == 'managed'}}
{{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}}
{{/if}} {{/if}}
{{if $immo_line.status == null}}
{{:assign nb_null="%d+1"|math:$nb_null}} {{if $immo_line.status == 'ignored'}}
{{elseif $immo_line.status == 'managed'}}
{{:assign nb_managed="%d+1"|math:$nb_managed}}
{{elseif $immo_line.status == 'ignored'}}
{{:assign nb_ignored="%d+1"|math:$nb_ignored}} {{:assign nb_ignored="%d+1"|math:$nb_ignored}}
{{else}}
{{:assign nb_other="%d+1"|math:$nb_other}}
{{/if}} {{/if}}
{{if $unhide == null && $immo_line.status == "ignored"}}
{{:continue}}
{{/if}}
{{* vérifier si le libellé aurait pu être filtré *}}
{{#foreach from=$module.config.filters item="filter"}}
{{if $trans_label|strpos:$filter !== false}}
{{:assign var="immo_line.status" value="ignored"}}
{{:assign nb_ignored="%d+1"|math:$nb_ignored}}
{{/if}}
{{/foreach}}
{{if $unhide == null && $immo_line.status == "ignored"}}
{{:continue}}
{{/if}}
{{:assign var="immo_lines." value=$immo_line}} {{:assign var="immo_lines." value=$immo_line}}
{{/select}} {{/select}}
<form method="post" action=""> {{if $nb_ignored > 0}}
<form method="post" action="">
<fieldset> <fieldset>
{{:input type="checkbox" value=1 name="unhide" checked="%s"|args:$checked label="Afficher les écritures ignorées" }} {{:input type="checkbox" value=1 name="unhide" checked="%s"|args:$checked label="Afficher les écritures ignorées" }}
</fieldset> </fieldset>
</form> </form>
{{/if}}
{{if $immo_lines|count > 0}} {{if $immo_lines|count > 0}}
<table class="list"> <table class="list">
<thead> <thead>
<tr> <tr>
<th class="num"></th> <th class="num"></th>
@ -139,22 +133,6 @@
</thead> </thead>
<tbody> <tbody>
{{#foreach from=$immo_lines item="line"}} {{#foreach from=$immo_lines item="line"}}
{{if $unhide == null}}
{{if $status == "ignored"}}
{{:continue}}
{{/if}}
{{else}}
{{* vérifier si le libellé aurait pu être filtré *}}
{{#foreach from=$module.config.filters item="filter"}}
{{if $trans_label|strpos:$filter !== false}}
{{:assign status="ignored"}}
{{else}}
{{:assign status=""}}
{{/if}}
{{/foreach}}
{{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.immo_trans_id}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.immo_trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.trans_id_year}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.trans_id_year}}
{{:assign reste="%d-%d"|math:$line.debit:$line.amount}} {{:assign reste="%d-%d"|math:$line.debit:$line.amount}}
@ -179,7 +157,7 @@
</tr> </tr>
{{/foreach}} {{/foreach}}
</tbody> </tbody>
</table> </table>
{{else}} {{else}}
<p class="block alert">Aucune immobilisation</p> <p class="block alert">Aucune immobilisation</p>
{{/if}} {{/if}}

View file

@ -13,7 +13,7 @@
<li {{if $current == "managed"}}class="current"{{/if}}><a href="index.html?type_immo=managed">Amortissables</a></li> <li {{if $current == "managed"}}class="current"{{/if}}><a href="index.html?type_immo=managed">Amortissables</a></li>
<li {{if $current == "amortized"}}class="current"{{/if}}><a href="index.html?type_immo=amortized">Amorties</a></li> <li {{if $current == "amortized"}}class="current"{{/if}}><a href="index.html?type_immo=amortized">Amorties</a></li>
<li {{if $current == "archived"}}class="current"{{/if}}><a href="index.html?type_immo=archived">Sorties du bilan</a></li> <li {{if $current == "archived"}}class="current"{{/if}}><a href="index.html?type_immo=archived">Sorties du bilan</a></li>
<li {{if $current == "unfinished"}}class="current"{{/if}}><a href="index.html?type_immo=unfinished">En cours</a></li> <li {{if $current == "unfinished"}}class="current"{{/if}}><a href="index.html?type_immo=unfinished">En cours de constitution</a></li>
<li {{if $current == "other"}}class="current"{{/if}}><a href="index.html?type_immo=other">À classer</a></li> <li {{if $current == "other"}}class="current"{{/if}}><a href="index.html?type_immo=other">À classer</a></li>
<li {{if $current == "config"}} class="current"{{/if}}><a href="config.html">Configuration</a></li> <li {{if $current == "config"}} class="current"{{/if}}><a href="config.html">Configuration</a></li>
<li {{if $current == "aide"}} class="current"{{/if}}><a href="aide.html">Aide</a></li> <li {{if $current == "aide"}} class="current"{{/if}}><a href="aide.html">Aide</a></li>

View file

@ -2,19 +2,20 @@
{{* Liste des immobilisations en cours de constitution *}} {{* Liste des immobilisations en cours de constitution *}}
<section class="immobilisation"> <p class="block help">
Cet onglet liste les immobilisations en cours de
constitution ; vous pouvez les sélectionner pour créer une
immobilisation amortissable (exemple : achat de matériaux pour
la construction d'un bâtiment destiné à être amorti)
</p>
<p class="help"> {{:include file="_get_config.html" keep="module.config"}}
Cette page liste les immobilisations en cours de constitution, donc non amortissables {{:assign saved_hides=$module.config.hides}}
</p> {{:assign var="user_hides" from="saved_hides.%s"|args:$logged_user.id}}
{{:include file="_get_config.html" keep="module.config"}} {{if $_POST|count == 0}}
{{:assign saved_hides=$module.config.hides}}
{{:assign var="user_hides" from="saved_hides.%s"|args:$logged_user.id}}
{{if $_POST|count == 0}}
{{:assign unhide=$user_hides.unhide_unfinished}} {{:assign unhide=$user_hides.unhide_unfinished}}
{{else}} {{else}}
{{if $_POST.unhide == null}} {{if $_POST.unhide == null}}
{{:assign unhide=0}} {{:assign unhide=0}}
{{else}} {{else}}
@ -23,82 +24,39 @@
{{:assign var="user_hides.unhide_unfinished" value=$unhide"}} {{:assign var="user_hides.unhide_unfinished" value=$unhide"}}
{{:assign var="saved_hides.%s"|args:$logged_user.id value=$user_hides}} {{:assign var="saved_hides.%s"|args:$logged_user.id value=$user_hides}}
{{:save key="config" hides=$saved_hides}} {{:save key="config" hides=$saved_hides}}
{{/if}} {{/if}}
{{if $unhide}} {{if $unhide}}
{{:assign checked="checked"}} {{:assign checked="checked"}}
{{/if}} {{/if}}
<form method="post" action=""> {{* lister les immobilisations en cours de constitution *}}
<fieldset class="shortFormLeft"> {{:assign first_code=null}}
<legend>Transférer une ou plusieurs lignes vers une immobilisation amortissable</legend> {{:assign accounts_condition="("}}
<p class="help"> {{#foreach from=$module.config.unfinished item="elem"}}
Cocher les lignes concernées
</p>
<div class="shortFormRight informations" id="total_amount">
<legend>Montants sélectionnés</legend>
<table class="montant">
<tbody>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<div>
<p class="submit">
{{:linkbutton
label="Transférer"
href="transfer.html?trans="
shape="right"
id="transfer"
}}
</p>
</div>
</fieldset>
<fieldset>
{{:input type="checkbox" value=1 name="unhide" checked="%s"|args:$checked label="Afficher toutes les écritures" }}
</fieldset>
</form>
<table class="list">
<thead>
<tr>
<th class="check"></th>
<th class="num"></th>
<th>Date</th>
<th>Libellé</th>
<th class="nombre">Montant</th>
<th>N° compte</th>
<th>Compte</th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
{{* lister les immobilisations en cours de constitution *}}
{{:assign accounts_condition="("}}
{{#foreach from=$module.config.unfinished item="elem"}}
{{if $elem.code != null}} {{if $elem.code != null}}
{{:assign code=$elem.code}} {{:assign code=$elem.code}}
{{else}} {{else}}
{{:assign code=$elem}} {{:assign code=$elem}}
{{/if}} {{/if}}
{{if $first_code == null}}
{{:assign first_code=$code}}
{{/if}}
{{:assign code=$code|cat:"%"|quote_sql}} {{:assign code=$code|cat:"%"|quote_sql}}
{{: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 AND NOT (trans.status & 16)"}}
{{:assign filter_condition=" NOT ("}} {{:assign filter_condition=" NOT ("}}
{{#foreach from=$module.config.filters item="filter"}} {{#foreach from=$module.config.filters item="filter"}}
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}} {{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
{{: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=$condition|cat:" AND "|cat:$filter_condition}} {{:assign condition=$condition|cat:" AND "|cat:$filter_condition}}
{{:assign nb_immo=0}}
{{:assign total_immo = 0}} {{:assign nb_ignored=0}}
{{#select {{#select
trans.id as trans_id, trans.id as trans_id,
trans.label as trans_label, trans.label as trans_label,
trans.date as trans_date, trans.date as trans_date,
@ -116,13 +74,17 @@
GROUP BY trans.id GROUP BY trans.id
ORDER BY trans.date DESC; ORDER BY trans.date DESC;
!condition=$condition !condition=$condition
}} assign="immo_line"
}}
{{* voir si l'écriture a été marquée ignorée *}} {{* voir si l'écriture a été marquée ignorée *}}
{{:assign ignore=false}} {{:assign var="immo_line.ignore" value=false}}
{{#load type="immo" assign="info_immo" where="$$.line = :line_id AND $$.status = 'ignored'" :line_id=$immo_line_id|intval}} {{#load type="immo" assign="info_immo" where="$$.line = :line_id AND $$.status = 'ignored'" :line_id=$immo_line_id|intval}}
{{:assign ignore=true}} {{:assign var="immo_line.ignore" value=true}}
{{/load}} {{/load}}
{{if $ignore && $unhide == null}} {{if $immo_line.ignore}}
{{:assign nb_ignored="%d + 1"|math:$nb_ignored}}
{{/if}}
{{if $immo_line.ignore && $unhide == null}}
{{:continue}} {{:continue}}
{{/if}} {{/if}}
@ -150,9 +112,65 @@
{{:continue}} {{:continue}}
{{/if}} {{/if}}
{{:assign var="immo_lines." value=$immo_line}}
{{/select}}
<form method="post" action="">
{{if $immo_lines|count > 0}}
<fieldset class="shortFormLeft">
<legend>Transférer une ou plusieurs lignes vers une immobilisation amortissable</legend>
<p class="help">
Cocher les lignes concernées
</p>
<div class="shortFormRight informations" id="total_amount">
<legend>Montants sélectionnés</legend>
<table class="montant">
<tbody>
</tbody>
<tfoot>
</tfoot>
</table>
</div>
<div>
<p class="submit">
{{:linkbutton
label="Transférer"
href="transfer.html?trans="
shape="right"
id="transfer"
}}
</p>
</div>
</fieldset>
{{/if}}
{{if $nb_ignored !== 0}}
<fieldset>
{{:input type="checkbox" value=1 name="unhide" checked="%s"|args:$checked label="Afficher les écritures ignorées" }}
</fieldset>
{{/if}}
</form>
{{if $immo_lines|count > 0}}
<section class="immobilisation">
<table class="list">
<thead>
<tr>
<th class="check"></th>
<th class="num"></th>
<th>Date</th>
<th>Libellé</th>
<th class="nombre">Montant</th>
<th>N° compte</th>
<th>Compte</th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
{{:assign total_immo = 0}}
{{#foreach from=$immo_lines}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}
{{:assign nb_immo="%d+1"|math:$nb_immo}}
{{:assign total_immo="%d+%d"|math:$total_immo:$debit}} {{:assign total_immo="%d+%d"|math:$total_immo:$debit}}
{{:assign var="montant" from="sommes_immo.%s"|args:$account_code}} {{:assign var="montant" from="sommes_immo.%s"|args:$account_code}}
{{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$debit}} {{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$debit}}
@ -174,7 +192,8 @@
}} }}
</td> </td>
</tr> </tr>
{{/select}} {{/foreach}}
</tbody> </tbody>
<tfoot> <tfoot>
{{if $total_immo != 0}} {{if $total_immo != 0}}
@ -203,10 +222,10 @@
{{/if}} {{/if}}
</tfoot> </tfoot>
</table> </table>
{{if $nb_immo == 0}} </section>
<p class="block alert">Aucune immobilisation</p> {{else}}
{{/if}} <p class="block alert">Aucune écriture d'immobilisation trouvée dans la comptabilité (compte {{$first_code}} et sous-comptes)</p>
</section> {{/if}}
<script type="text/javascript" src="scripts.js"></script> <script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript" async="async"> <script type="text/javascript" async="async">

View file

@ -139,25 +139,28 @@
<dt>Montant à amortir</dt> <dt>Montant à amortir</dt>
<dd class="money strong">{{"%f"|math:$solde|money_currency_html:false|raw}}</dd> <dd class="money strong">{{"%f"|math:$solde|money_currency_html:false|raw}}</dd>
{{/if}} {{/if}}
{{if $valeur_residuelle > 0}}
<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>{{$valeur_residuelle|money_currency_html:false|raw}}</dd> <dd>{{$valeur_residuelle|money_currency_html:false|raw}}</dd>
{{/if}}
{{if $info_immo.duration != null && $valeur_residuelle > 0}} {{if $info_immo.duration != null && $valeur_residuelle > 0}}
{{:assign annuite="%f/%d"|math:$solde:$info_immo.duration}}
<dt>Annuité estimée</dt> <dt>Annuité estimée</dt>
<dd>{{"min(%d, %f/%d)"|math:$valeur_residuelle:$solde:$info_immo.duration|money_currency_html:false|raw}}</dd> <dd>{{"min(%d, %d)"|math:$valeur_residuelle:$annuite|money_currency_html:false|raw}}
{{if $annuite <= $valeur_residuelle}}
<span class="help"> pour un exercice de 365 jours</span>
{{/if}}
</dd>
{{/if}} {{/if}}
</dl> </dl>
</div> </div>
{{if $valeur_residuelle > 0 || $linked_immos != null}} {{if ! $created_amort || $linked_immos != null}}
<h3 class="ruler">Avoirs</h3> <h3 class="ruler">Avoirs</h3>
{{/if}}
{{if ! $created_amort}}
<nav class="actions"> <nav class="actions">
{{if $total_amort == 0 || ! $created_amort}}
{{:linkbutton label="Attacher une écriture d'avoir" href="link_immo.html?immo_doc_id=%s&filter=true"|args:$_GET.immo_doc_id shape="link" target="_dialog"}} {{:linkbutton label="Attacher une écriture d'avoir" href="link_immo.html?immo_doc_id=%s&filter=true"|args:$_GET.immo_doc_id shape="link" target="_dialog"}}
{{/if}}
</nav> </nav>
{{/if}} {{/if}}
@ -263,7 +266,14 @@
{{/if}} {{/if}}
{{if $linked_amort == null}} {{if $linked_amort == null}}
<p class="block alert">Aucun amortissement enregistré pour cette immobilisation ; utilisez le bouton « Enregistrer un amortissement » pour enregistrer un nouvel amortissement</p> <p class="block alert">Aucun amortissement enregistré pour cette
immobilisation ; en fin d'exercice vous pouvez enregistrer un
nouvel amortissement à l'aide du bouton « Enregistrer un
amortissement »</p>
{{elseif $_GET.type_immo == "managed"}}
<p class="block alert">En fin d'exercice vous pouvez enregistrer
un nouvel amortissement à l'aide du bouton « Enregistrer un
amortissement »</p>
{{/if}} {{/if}}
{{:form_errors}} {{:form_errors}}

View file

@ -21,7 +21,7 @@
{{:include file="_nav.html" current=$type_immo}} {{:include file="_nav.html" current=$type_immo}}
{{* Mise à niveau *}} {{* Mise à niveau *}}
{{:assign module_version="0.40.2"}} {{:assign module_version="0.40.3"}}
{{: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 *}}

View file

@ -1,5 +1,5 @@
name="Amortissements" name="Amortissements"
description="Immobilisations et amortissements\nversion 0.40.2" description="Immobilisations et amortissements\nversion 0.40.3"
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

@ -219,13 +219,13 @@
{{if $years|count == 1}} {{if $years|count == 1}}
{{:assign var=selected_year value=$years.0.id}} {{:assign var=selected_year value=$years.0.id}}
{{:assign var=date_amort value=$years.0.end_date}}
{{:include file="_calcul_dates.html" date_debut=$date_debut date_fin=$date_amort keep="nbjours"}}
{{* montant de l'amortissement *}}
{{:assign montant_amort="%f/%f/365*%d"|math:$ligne_immo.amount:$info_immo.duration:$nbjours|intval}}
{{:assign montant_amort="min(%f, %d-%d)"|math:$montant_amort:$ligne_immo.amount:$total_amort}}
{{/if}} {{/if}}
{{:assign var=date_amort value=$years.0.end_date}}
{{:include file="_calcul_dates.html" date_debut=$date_debut date_fin=$date_amort keep="nbjours"}}
{{* montant de l'amortissement *}}
{{:assign montant_amort="%f/%f/365*%d"|math:$ligne_immo.amount:$info_immo.duration:$nbjours|intval}}
{{:assign montant_amort="min(%f, %d-%d)"|math:$montant_amort:$ligne_immo.amount:$total_amort}}
{{:assign var="debit_account.6811" value="6811 — Dot. aux amortissements des immobilisations"}} {{:assign var="debit_account.6811" value="6811 — Dot. aux amortissements des immobilisations"}}
{{:assign var="credit_account.%s"|args:$code_amort value="%s — "|args:$code_amort|cat:$amort_account_label}} {{:assign var="credit_account.%s"|args:$code_amort value="%s — "|args:$code_amort|cat:$amort_account_label}}
@ -242,7 +242,13 @@
{{:input type="select" default=$selected_year name="id_year" label="Exercice" required=true default_empty="— Faire un choix —" options=$open_years}} {{:input type="select" default=$selected_year name="id_year" label="Exercice" required=true default_empty="— Faire un choix —" options=$open_years}}
{{:input type="date" name="date_amort" label="Date" required=true default=$date_amort|date_short}} {{:input type="date" name="date_amort" label="Date" required=true default=$date_amort|date_short}}
{{:input type="text" name="designation" label="Libellé" required=true default=$amort_label size="50"}} {{:input type="text" name="designation" label="Libellé" required=true default=$amort_label size="50"}}
{{:input type="money" name="montant" label="Montant" required=true default=$montant_amort}} {{if $total_amort == 0 || $nbjours < 365 || $nbjours > 366}}
{{:assign msg="Montant calculé au prorata du nombre de jours d'amortissement dans l'exercice"}}
{{if $nbjours != null}}
{{:assign msg=$msg|cat:" (%s)"|args:$nbjours}}
{{/if}}
{{/if}}
{{:input type="money" name="montant" label="Montant" required=true default=$montant_amort help=$msg}}
{{:input {{:input
type="list" type="list"
name="debit_account" name="debit_account"

View file

@ -38,5 +38,4 @@
{{:include file="_compare_version.tpl" nv1=$module_version nv2=$module.config.version keep="comp"}} {{:include file="_compare_version.tpl" nv1=$module_version nv2=$module.config.version keep="comp"}}
{{if $comp > 0}} {{if $comp > 0}}
{{:save key="config" version=$module_version}} {{:save key="config" version=$module_version}}
<p class="block alert">Nouvelle version enregistrée : {{$module_version}}</p>
{{/if}} {{/if}}