Compare commits

...

3 commits

Author SHA1 Message Date
Jean-Christophe Engel
ec6cf99507 Prise en compte immobilisations en cours de constitution (comptes 23xx) 2025-11-04 11:20:30 +01:00
Jean-Christophe Engel
9ce3183601 Modification titre page et onglet 2025-11-04 09:43:19 +01:00
Jean-Christophe Engel
547ef819d0 Correction gestion config + coquille 2025-11-04 09:35:00 +01:00
12 changed files with 153 additions and 37 deletions

View file

@ -1,15 +1,19 @@
{{* -*- brindille -*- *}}
{{* Liste des immobilisations archivées *}}
<p class="help">
Cette page liste les immobilisations sorties du bilan
</p>
{{* Immobilisation avec une écriture de sortie de bilan *}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{:assign condition="("}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{#foreach from=$config.prefixes item="code"}}
{{if $code|substr:0:2 != "23"}}
{{:assign code=$code|cat:"%"|quote_sql}}
{{:assign condition=$condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}}
{{/if}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{:assign condition=$condition|cat:" AND acc2.code = account.code AND line.debit > 0 AND line.debit = line2.credit AND NOT (trans.status & 16)"}}
@ -43,7 +47,6 @@
{{/select}}
<section class="immobilisation">
{{:assign nb_immo=0}}
<table class="list">
<thead>
<tr>
@ -59,6 +62,7 @@
</tr>
</thead>
<tbody>
{{:assign nb_immo=0}}
{{#foreach from=$immo_archivees}}
{{: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}}

View file

@ -4,10 +4,6 @@
Récupérer la config
*}}
{{* config par défaut *}}
{{:read file="./defaut.json" assign="config_defaut"}}
{{:assign config_defaut=$config_defaut|json_decode}}
{{*
{{if $module.config.tva != null}}
{{:assign var="config.tva" value=$module.config.tva}}
@ -19,5 +15,8 @@
{{if $module.config.prefixes != null}}
{{:assign var="config.prefixes" value=$module.config.prefixes}}
{{else}}
{{* config par défaut *}}
{{:read file="./defaut.json" assign="config_defaut"}}
{{:assign config_defaut=$config_defaut|json_decode}}
{{:assign var="config.prefixes" value=$config_defaut.prefixes}}
{{/if}}

View file

@ -3,7 +3,14 @@
{{* Liste des immobilisations en cours ou amorties *}}
<section class="immobilisation">
{{:assign nb_immo=0}}
<p class="help">
{{if $type_immo == "managed"}}
Cette page liste les immobilisations en cours d'amortissement
{{elseif $type_immo == "amortized"}}
Cette page liste les immobilisations dont l'amortissement est terminé
{{/if}}
</p>
<table class="list">
<thead>
@ -21,15 +28,18 @@
<tbody>
{{* lister les immobilisations *}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{:assign condition="("}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{#foreach from=$config.prefixes item="code"}}
{{if $code|substr:0:2 != "23"}}
{{:assign code=$code|cat:"%"|quote_sql}}
{{:assign condition=$condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
{{/if}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
{{:assign nb_immo=0}}
{{#select
trans.id as trans_id,

View file

@ -3,7 +3,6 @@
{{* Liste des immobilisations non amortissables ou non (encore) gérées *}}
<section class="immobilisation">
{{:assign nb_immo=0}}
<p class="help">
Cette page liste les écritures pas (encore) prises en charges par le module ou classées non amortissables
@ -30,15 +29,17 @@
<tbody>
{{* lister les immobilisations *}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{:assign condition="("}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{#foreach from=$config.prefixes item="code"}}
{{if $code|substr:0:2 != "23"}}
{{:assign code=$code|cat:"%"|quote_sql}}
{{:assign condition=$condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
{{/if}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
{{:assign nb_immo=0}}
{{#select
trans.id as trans_id,

View file

@ -16,9 +16,10 @@
{{/if}}
<ul>
<li {{if $subcurrent == "managed"}}class="current"{{/if}}><a href="index.html?type_immo=managed">En cours</a></li>
<li {{if $subcurrent == "managed"}}class="current"{{/if}}><a href="index.html?type_immo=managed">Amortissables</a></li>
<li {{if $subcurrent == "amortized"}}class="current"{{/if}}><a href="index.html?type_immo=amortized">Amorties</a></li>
<li {{if $subcurrent == "archived"}}class="current"{{/if}}><a href="index.html?type_immo=archived">Sorties du bilan</a></li>
<li {{if $subcurrent == "unfinished"}}class="current"{{/if}}><a href="index.html?type_immo=unfinished">En cours</a></li>
<li {{if $subcurrent == "other"}}class="current"{{/if}}><a href="index.html?type_immo=other">Autres</a></li>
<li {{if $current == "config"}} class="current"{{/if}}><a href="config.html">Configuration</a></li>
</ul>

101
_unfinished.html Normal file
View file

@ -0,0 +1,101 @@
{{* -*- brindille -*- *}}
{{* Liste des immobilisations en cours de constitution *}}
<section class="immobilisation">
<p class="help">
Cette page liste les immobilisations en cours de constitution, donc non amortissables
</p>
<table class="list">
<thead>
<tr>
<th></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 *}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{:assign condition="("}}
{{#foreach from=$config.prefixes item="code"}}
{{if $code|substr:0:2 == "23"}}
{{:assign code=$code|cat:"%"|quote_sql}}
{{:assign condition=$condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
{{/if}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
{{:assign nb_immo=0}}
{{#select
trans.id as trans_id,
trans.label as trans_label,
trans.date as trans_date,
line.id as immo_id,
account.id as account_id,
account.code as account_code,
account.label as account_label,
sum(line.debit) AS debit,
trans.id_year as trans_id_year
FROM acc_transactions AS trans
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
INNER JOIN acc_accounts AS account ON line.id_account = account.id
INNER JOIN acc_years AS years ON trans.id_year = years.id
WHERE !condition
GROUP BY trans.id
ORDER BY trans.date DESC;
!condition=$condition
}}
{{* voir s'il existe une écriture qui solde l'immobilisation *}}
{{:assign ignore=false}}
{{#select
line.id AS line,
line.id_transaction AS trans,
line.debit,
line.label,
line2.id AS line2,
line2.id_transaction AS trans2,
line2.credit,
line2.label
FROM acc_transactions_lines AS line
INNER JOIN acc_accounts AS acc ON acc.id = line.id_account
INNER JOIN acc_transactions_lines AS line2 ON line2.id_account = acc.id
WHERE
line.id = :line_id
AND line2.credit = line.debit;
:line_id = $immo_id|intval
}}
{{:assign ignore=true}}
{{/select}}
{{if $ignore}}
{{:continue}}
{{/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}}
<tr>
<td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td>
<td>{{$trans_date|date_short}}</td>
<td>{{$trans_label}}</td>
<td class="money">{{"%f"|math:$debit|money:false}}</td>
<td><a href={{$compte_url}}>{{$account_code}}</a></td>
<td>{{$account_label}}</td>
<td class="actions"></td>
</tr>
{{/select}}
</tbody>
</table>
{{if $nb_immo == 0}}
<p class="block alert">Aucune immobilisation</p>
{{/if}}
</section>

View file

@ -1,7 +1,6 @@
{{* -*- brindille -*- *}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{#years closed=false order="start_date" assign=years.}}
{{:assign ts_debut=$start_date|strtotime}}
@ -75,7 +74,7 @@
file="_check_account.html"
account=$debit_account
chart_id=$selected_chart
prefix_array=$config_defaut.prefixes
prefix_array=$config.prefixes
keep="account_ok"
}}
@ -139,7 +138,7 @@
{{:assign var="projects.%d"|args:$id value=$label}}
{{/select}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{#foreach from=$config.prefixes item="code"}}
{{:assign var="pattern_array." value="%s*"|args:$code}}
{{/foreach}}
{{:assign var="patterns" value=$pattern_array|implode:"|"}}

View file

@ -248,7 +248,7 @@
{{if $autres_amortissements != null}}
<p class="block alert">
Il existe des écritures d'amortissement qui ne sont pas rattachés à une immobilisation ! <br />
Utilisez le bouton « Attacher un amortissement » pour les afficher ; vous pourrez choisir d'en attacher certaines à cette immobilisation.
Utilisez le bouton « Rattacher une écriture » pour les afficher ; vous pourrez choisir d'en attacher certaines à cette immobilisation.
</p>
{{/if}}
{{/if}}

View file

@ -41,7 +41,7 @@
{{/form}}
{{* récupérer l'exercice courant ou sinon le plus récent *}}
{{:assign var="selected_year" from="logged_user.preferences.accounting_year}}
{{:assign var="selected_year" from="logged_user.preferences.accounting_year"}}
{{if $selected_year == null}}
{{* sélectionner l'exercice le plus probable *}}
{{#years}}

View file

@ -8,13 +8,15 @@
{{/if}}
{{if $type_immo == "managed"}}
{{:admin_header title="Immobilisations en cours" custom_css="./style.css" current="module_amortization"}}
{{:admin_header title="Immobilisations en cours d'amortissement" custom_css="./style.css" current="module_amortization"}}
{{elseif $type_immo == "amortized"}}
{{:admin_header title="Immobilisations amorties" custom_css="./style.css" current="module_amortization"}}
{{elseif $type_immo == "archived"}}
{{:admin_header title="Immobilisations archivées" custom_css="./style.css" current="module_amortization"}}
{{elseif $type_immo == "other"}}
{{:admin_header title="Autres immobilisations" custom_css="./style.css" current="module_amortization"}}
{{elseif $type_immo == "unfinished"}}
{{:admin_header title="Immobilisations en cours" custom_css="./style.css" current="module_amortization"}}
{{/if}}
{{:include file="_nav.html" current="index" subcurrent="%s"|args:$type_immo}}
@ -47,6 +49,8 @@
{{:include file="_immobilisations_autres.html"}}
{{elseif $type_immo == "archived"}}
{{:include file="_archives.html"}}
{{elseif $type_immo == "unfinished"}}
{{:include file="_unfinished.html"}}
{{elseif $type_immo == "managed" || $type_immo == "amortized"}}
{{:include file="_immobilisations.html"}}
{{/if}}

View file

@ -147,9 +147,8 @@
- que le compte d'amortissement débute par un préfixe correct (280, 281, ...)
- est présent dans le PC de l'exercice correspondant à la date
*}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{#foreach from=$config.prefixes item="code"}}
{{* déterminer le numéro du compte d'amortissement associé au compte d'immobilisation *}}
{{:include
file="./_get_amort_code.html"

View file

@ -309,10 +309,8 @@
{{:assign var="%s.%s"|args:$name:$code value="%s — %s"|args:$code:$acc_label}}
{{/foreach}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{:include file="_get_config.html" keep="config.prefixes"}}
{{#foreach from=$config.prefixes item="code"}}
{{:assign var="pattern_array." value="%s*"|args:$code}}
{{/foreach}}
{{:assign patterns=$pattern_array|implode:"|"}}