Compare commits

..

No commits in common. "baf3ffd36705ac0943b6f3fd7303d79ca6fc89bc" and "10a87b178d24142342c12d39535935a24ac3776b" have entirely different histories.

3 changed files with 127 additions and 107 deletions

View file

@ -2,17 +2,13 @@
{{* Liste des immobilisations archivées *}} {{* Liste des immobilisations archivées *}}
{{* Immobilisation avec une écriture de sortie de bilan *}} {{* Immobilisation archivées prises en charge *}}
{{:read file="./defaut.json" assign="config_json"}} {{#load type="immo" where="$$.status = 'archived'"}}
{{:assign config_defaut=$config_json|json_decode}} {{:assign var="lines." value="'%s'"|args:$line}}
{{/load}}
{{:assign condition="("}} {{:assign lines=$lines|implode:","}}
{{#foreach from=$config_defaut.prefixes item="code"}} {{:assign lines="("|cat:$lines|cat:")"}}
{{:assign code=$code|cat:"%"|quote_sql}} {{:assign condition="line.id IN %s"|args:$lines}}
{{:assign condition=$condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}}
{{/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)"}}
{{#select {{#select
trans.id as trans_id, trans.id as trans_id,
@ -24,8 +20,45 @@
account.label as account_label, account.label as account_label,
line.debit AS debit, line.debit AS debit,
project.label as project_label, project.label as project_label,
trans.id_year as trans_id_year, trans.id_year as trans_id_year
trans2.date as exit_date 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
LEFT JOIN acc_projects AS project ON line.id_project = project.id
WHERE !condition
ORDER BY trans.date DESC;
!condition=$condition
assign="immo_archivee"
}}
{{:assign var="immo_archivees.%s"|args:$trans_id value=$immo_archivee}}
{{/select}}
{{* Immobilisation avec une écriture de sortie de bilan *}}
{{:read file="./defaut.json" assign="config_json"}}
{{:assign config_defaut=$config_json|json_decode}}
{{:assign condition="("}}
{{#foreach from=$config_defaut.prefixes item="code"}}
{{:assign code=$code|cat:"%"|quote_sql}}
{{:assign condition=$condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{:assign cond2=$condition|replace:"account.":"acc2."}}
{{:assign condition=$condition|cat:" AND "|cat:$cond2}}
{{:assign condition=$condition|cat:" AND line.debit > 0 AND NOT (trans.status & 16)"}}
{{#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,
line.debit AS debit,
project.label as project_label,
trans.id_year as trans_id_year
FROM acc_transactions AS trans FROM acc_transactions AS trans
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id 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_accounts AS account ON line.id_account = account.id
@ -39,7 +72,9 @@
!condition=$condition !condition=$condition
assign="immo_archivee" assign="immo_archivee"
}} }}
{{:assign var="immo_archivees.%s"|args:$trans_id value=$immo_archivee}} {{if ! $trans_id|key_in:$immo_archivees}}
{{:assign var="immo_archivees.%s"|args:$trans_id value=$immo_archivee}}
{{/if}}
{{/select}} {{/select}}
<section class="immobilisation"> <section class="immobilisation">
@ -48,8 +83,7 @@
<thead> <thead>
<tr> <tr>
<th></th> <th></th>
<th>Date achat</th> <th>Date</th>
<th>Date sortie</th>
<th>Libellé</th> <th>Libellé</th>
<th class="nombre">Montant</th> <th class="nombre">Montant</th>
<th>N° compte</th> <th>N° compte</th>
@ -66,7 +100,6 @@
<tr> <tr>
<td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td> <td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td>
<td>{{$trans_date|date_short}}</td> <td>{{$trans_date|date_short}}</td>
<td>{{$exit_date|date_short}}</td>
<td>{{$trans_label}}</td> <td>{{$trans_label}}</td>
<td class="money">{{"%f"|math:$debit|money:false}}</td> <td class="money">{{"%f"|math:$debit|money:false}}</td>
<td><a href={{$compte_url}}>{{$account_code}}</a></td> <td><a href={{$compte_url}}>{{$account_code}}</a></td>

View file

@ -13,8 +13,6 @@
{{if $ts_debut <= $now && $now <= $ts_fin}} {{if $ts_debut <= $now && $now <= $ts_fin}}
{{:assign selected_year=$id}} {{:assign selected_year=$id}}
{{/if}} {{/if}}
{{else}}
{{:error message="Aucun exercice ouvert"}}
{{/years}} {{/years}}
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}

View file

@ -3,7 +3,6 @@
{{:admin_header title="Configuration" custom_css="./style.css" current="module_amortissement"}} {{:admin_header title="Configuration" custom_css="./style.css" current="module_amortissement"}}
{{* barre de navigation *}} {{* barre de navigation *}}
{{:include file="_nav.html" current="config"}} {{:include file="_nav.html" current="config"}}
{{if $_GET.ok == 1}} {{if $_GET.ok == 1}}
<p class="block confirm">Configuration enregistrée.</p> <p class="block confirm">Configuration enregistrée.</p>
{{/if}} {{/if}}
@ -40,107 +39,97 @@
{{:redirect to="./config.html?ok=%d"|args:$ok}} {{:redirect to="./config.html?ok=%d"|args:$ok}}
{{/form}} {{/form}}
{{* récupérer l'exercice courant ou sinon le plus récent *}} {{* récupérer l'exercice courant *}}
{{: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 closed=false order="start_date"}}
{{:assign var="open_years.%d"|args:$id value=$label}}
{{if $start_date|strtotime <= $now && $end_date|strtotime >= $now}} {{if $start_date|strtotime <= $now && $end_date|strtotime >= $now}}
{{:assign selected_year=$id}} {{:assign selected_year=$id}}
{{:break}} {{:break}}
{{/if}} {{/if}}
{{:assign last_year=$id}}
{{/years}} {{/years}}
{{/if}} {{/if}}
{{if $selected_year == null}} {{* libellés des comptes d'immobilisation *}}
{{if $last_year == null}} {{:assign condition="("}}
<p class="block alert">Aucun exercice</p> {{#foreach from=$config.prefixes item="code"}}
{{else}} {{:assign code=$code|quote_sql}}
{{:assign selected_year=$last_year}} {{:assign condition=$condition|cat:" account.code = "|cat:$code|cat:" OR "}}
{{/if}} {{/foreach}}
{{/if}} {{:assign condition=$condition|cat:"0)"}}
{{:assign condition=$condition|cat:" AND year.id = %s"|args:$selected_year}}
{{if $selected_year != null}} {{#select
account.id as account_id,
account.code,
account.id_chart,
account.label,
year.label as year_label,
chart.label as chart_label
FROM acc_accounts AS account
INNER JOIN acc_charts AS chart ON chart.id = account.id_chart
INNER JOIN acc_years AS year ON year.id_chart = chart.id
WHERE !condition
;
!condition=$condition
}}
{{:assign var="accounts.%s"|args:$code label=$label id=$account_id}}
{{/select}}
{{* libellés des comptes d'immobilisation *}} <h3>Comptes d'immobilisation</h3>
{{:assign condition="("}} <form method="post" action="">
{{#foreach from=$config.prefixes item="code"}}
{{:assign code=$code|quote_sql}}
{{:assign condition=$condition|cat:" account.code = "|cat:$code|cat:" OR "}}
{{/foreach}}
{{:assign condition=$condition|cat:"0)"}}
{{:assign condition=$condition|cat:" AND year.id = %s"|args:$selected_year}}
{{#select <p class="help">
account.id as account_id, Les immobilisations sont cherchées dans les comptes sélectionnées et leurs sous-comptes.
account.code,
account.id_chart,
account.label,
year.label as year_label,
chart.label as chart_label
FROM acc_accounts AS account
INNER JOIN acc_charts AS chart ON chart.id = account.id_chart
INNER JOIN acc_years AS year ON year.id_chart = chart.id
WHERE !condition
;
!condition=$condition
}}
{{:assign var="accounts.%s"|args:$code label=$label id=$account_id}}
{{/select}}
<h3>Comptes d'immobilisation</h3>
<form method="post" action="">
<p class="help">
Les immobilisations sont cherchées dans les comptes sélectionnées et leurs sous-comptes.
</p>
<table class="list transaction-lines" id="asset_prefixes">
<thead>
<tr>
<td>Compte</td>
<td></td>
</tr>
</thead>
<tbody>
{{#foreach from=$accounts key=code item=elem}}
<tr>
<td>
{{:assign var="immo_account.%s.%s"|args:$code:$code value="%s — "|args:$code|cat:$elem.label}}
{{:assign var="current_account" from="immo_account.%s"|args:$code}}
{{:input
type="list"
name="immo_accounts[]"
target="!acc/charts/accounts/selector.php?codes=%s&id_year=%d"|args:$code::$selected_year
default=$current_account
}}
</td>
<td class="actions">
{{:button
label="Enlever"
title="Enlever une ligne"
shape="minus"
min="1"
name="remove_line"
}}
</td>
</tr>
{{/foreach}}
</tbody>
<tfoot>
<tr>
<td></td>
<td class="actions">{{:button shape="plus" label="Ajouter" title="Ajouter un compte"}}</td>
</tr>
</tfoot>
</table>
<p class="submit">
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p> </p>
</form>
{{/if}} <table class="list transaction-lines" id="asset_prefixes">
<thead>
<tr>
<td>Compte</td>
<td></td>
</tr>
</thead>
<tbody>
{{#foreach from=$accounts key=code item=elem}}
<tr>
<td>
{{:assign var="immo_account.%s.%s"|args:$code:$code value="%s — "|args:$code|cat:$elem.label}}
{{:assign var="current_account" from="immo_account.%s"|args:$code}}
{{*:debug immo_account=$immo_account current_account=$current_account*}}
{{:input
type="list"
name="immo_accounts[]"
target="!acc/charts/accounts/selector.php?codes=%s&id_year=%d"|args:$code::$selected_year
default=$current_account
}}
</td>
<td class="actions">
{{:button
label="Enlever"
title="Enlever une ligne"
shape="minus"
min="1"
name="remove_line"
}}
</td>
</tr>
{{/foreach}}
</tbody>
<tfoot>
<tr>
<td></td>
<td class="actions">{{:button shape="plus" label="Ajouter" title="Ajouter un compte"}}</td>
</tr>
</tfoot>
</table>
<p class="submit">
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p>
</form>
<script type="text/javascript" src="scripts.js"></script> <script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript"> <script type="text/javascript">