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 -*- *}} {{* -*- brindille -*- *}}
{{* Liste des immobilisations archivées *}} {{* 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 *}} {{* Immobilisation avec une écriture de sortie de bilan *}}
{{:read file="./defaut.json" assign="config_json"}} {{:include file="_get_config.html" keep="config.prefixes"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:assign condition="("}} {{:assign condition="("}}
{{#foreach from=$config_defaut.prefixes item="code"}} {{#foreach from=$config.prefixes item="code"}}
{{:assign code=$code|cat:"%"|quote_sql}} {{if $code|substr:0:2 != "23"}}
{{:assign condition=$condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}} {{:assign code=$code|cat:"%"|quote_sql}}
{{:assign condition=$condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}}
{{/if}}
{{/foreach}} {{/foreach}}
{{:assign condition=$condition|cat:"0)"}} {{: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)"}} {{: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}} {{/select}}
<section class="immobilisation"> <section class="immobilisation">
{{:assign nb_immo=0}}
<table class="list"> <table class="list">
<thead> <thead>
<tr> <tr>
@ -59,6 +62,7 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{:assign nb_immo=0}}
{{#foreach from=$immo_archivees}} {{#foreach from=$immo_archivees}}
{{: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}}

View file

@ -4,10 +4,6 @@
Récupérer la config 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}} {{if $module.config.tva != null}}
{{:assign var="config.tva" value=$module.config.tva}} {{:assign var="config.tva" value=$module.config.tva}}
@ -19,5 +15,8 @@
{{if $module.config.prefixes != null}} {{if $module.config.prefixes != null}}
{{:assign var="config.prefixes" value=$module.config.prefixes}} {{:assign var="config.prefixes" value=$module.config.prefixes}}
{{else}} {{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}} {{:assign var="config.prefixes" value=$config_defaut.prefixes}}
{{/if}} {{/if}}

View file

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

View file

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

View file

@ -16,9 +16,10 @@
{{/if}} {{/if}}
<ul> <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 == "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 == "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 $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> <li {{if $current == "config"}} class="current"{{/if}}><a href="config.html">Configuration</a></li>
</ul> </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 -*- *}} {{* -*- brindille -*- *}}
{{:read file="./defaut.json" assign="config_json"}} {{:include file="_get_config.html" keep="config.prefixes"}}
{{:assign config_defaut=$config_json|json_decode}}
{{#years closed=false order="start_date" assign=years.}} {{#years closed=false order="start_date" assign=years.}}
{{:assign ts_debut=$start_date|strtotime}} {{:assign ts_debut=$start_date|strtotime}}
@ -75,7 +74,7 @@
file="_check_account.html" file="_check_account.html"
account=$debit_account account=$debit_account
chart_id=$selected_chart chart_id=$selected_chart
prefix_array=$config_defaut.prefixes prefix_array=$config.prefixes
keep="account_ok" keep="account_ok"
}} }}
@ -139,7 +138,7 @@
{{:assign var="projects.%d"|args:$id value=$label}} {{:assign var="projects.%d"|args:$id value=$label}}
{{/select}} {{/select}}
{{#foreach from=$config_defaut.prefixes item="code"}} {{#foreach from=$config.prefixes item="code"}}
{{:assign var="pattern_array." value="%s*"|args:$code}} {{:assign var="pattern_array." value="%s*"|args:$code}}
{{/foreach}} {{/foreach}}
{{:assign var="patterns" value=$pattern_array|implode:"|"}} {{:assign var="patterns" value=$pattern_array|implode:"|"}}

View file

@ -248,7 +248,7 @@
{{if $autres_amortissements != null}} {{if $autres_amortissements != null}}
<p class="block alert"> <p class="block alert">
Il existe des écritures d'amortissement qui ne sont pas rattachés à une immobilisation ! <br /> 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> </p>
{{/if}} {{/if}}
{{/if}} {{/if}}

View file

@ -41,7 +41,7 @@
{{/form}} {{/form}}
{{* récupérer l'exercice courant ou sinon le plus récent *}} {{* 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}} {{if $selected_year == null}}
{{* sélectionner l'exercice le plus probable *}} {{* sélectionner l'exercice le plus probable *}}
{{#years}} {{#years}}

View file

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

View file

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