Ajout possibilité spécifier montant immo
This commit is contained in:
parent
9594f6b206
commit
f32e1d1a51
9 changed files with 201 additions and 144 deletions
182
_archives.html
182
_archives.html
|
|
@ -1,6 +1,6 @@
|
||||||
{{* -*- brindille -*- *}}
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
{{* Liste des immobilisations archivées *}}
|
{{* Liste des immobilisations sorties du bilan *}}
|
||||||
<p class="help">
|
<p class="help">
|
||||||
Cette page liste les immobilisations sorties du bilan
|
Cette page liste les immobilisations sorties du bilan
|
||||||
</p>
|
</p>
|
||||||
|
|
@ -8,48 +8,21 @@
|
||||||
{{* Immobilisation avec une écriture de sortie de bilan *}}
|
{{* Immobilisation avec une écriture de sortie de bilan *}}
|
||||||
{{:include file="_get_config.html" keep="module.config"}}
|
{{:include file="_get_config.html" keep="module.config"}}
|
||||||
|
|
||||||
{{:assign accounts_condition="("}}
|
{{* lister les immobilisations *}}
|
||||||
|
{{:assign account_condition="("}}
|
||||||
{{#foreach from=$module.config.prefixes item="code"}}
|
{{#foreach from=$module.config.prefixes item="code"}}
|
||||||
{{: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 account_condition=$account_condition|cat:"account.code LIKE "|cat:$code|cat:" OR "}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{:assign accounts_condition=$accounts_condition|cat:"0)"}}
|
{{:assign account_condition=$account_condition|cat:"0)"}}
|
||||||
{{:assign condition=$accounts_condition|cat:" AND acc2.code = account.code AND line.debit > 0 AND line.debit = line2.credit AND NOT (trans.status & 16)"}}
|
|
||||||
|
|
||||||
{{:assign filter_condition=" NOT ("}}
|
{{:assign filter_condition=" AND 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=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}}
|
||||||
|
|
||||||
{{#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,
|
|
||||||
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_transactions_lines AS line2 ON line.debit = line2.credit
|
|
||||||
INNER JOIN acc_transactions AS trans2 ON trans2.id = line2.id_transaction
|
|
||||||
INNER JOIN acc_accounts AS acc2 ON acc2.id = line2.id_account
|
|
||||||
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}}
|
|
||||||
|
|
||||||
<section class="immobilisation">
|
<section class="immobilisation">
|
||||||
<table class="list">
|
<table class="list">
|
||||||
|
|
@ -67,28 +40,79 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{:assign nb_immo=0}}
|
|
||||||
{{:assign total_immo = 0}}
|
{{:assign nb_immo=0}}
|
||||||
{{:assign total_cessions = 0}}
|
{{:assign total_immo = 0}}
|
||||||
{{#foreach from=$immo_archivees}}
|
{{:assign total_cessions = 0}}
|
||||||
{{: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}}
|
{{#select
|
||||||
{{:assign nb_immo="%d+1"|math:$nb_immo}}
|
trans.id as trans_id,
|
||||||
{{:assign total_immo="%d+%d"|math:$total_immo:$debit}}
|
trans.label as trans_label,
|
||||||
{{:assign var="montant" from="sommes_immo.%s"|args:$account_code}}
|
trans.date as trans_date,
|
||||||
{{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$debit}}
|
trans.id_year as trans_id_year,
|
||||||
<tr>
|
line.id as immo_id,
|
||||||
<td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td>
|
line.debit AS debit,
|
||||||
<td>{{$trans_date|date_short}}</td>
|
account.id as account_id,
|
||||||
<td>{{$exit_date|date_short}}</td>
|
account.code as account_code,
|
||||||
<td>{{$trans_label}}</td>
|
account.label as account_label,
|
||||||
<td class="money">{{"%f"|math:$debit|money_html:false|raw}}</td>
|
project.label as project_label
|
||||||
<td><a href={{$compte_url}}>{{$account_code}}</a></td>
|
FROM acc_transactions AS trans
|
||||||
<td>{{$account_label}}</td>
|
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
|
||||||
<td>{{$project_label}}</td>
|
INNER JOIN acc_accounts AS account ON line.id_account = account.id
|
||||||
<td class="actions">
|
INNER JOIN acc_years AS years ON trans.id_year = years.id
|
||||||
</td>
|
LEFT JOIN acc_projects AS project ON line.id_project = project.id
|
||||||
</tr>
|
WHERE !condition
|
||||||
|
ORDER BY trans.date DESC;
|
||||||
|
!condition=$condition
|
||||||
|
}}
|
||||||
|
{{:assign montant_immo=$debit}}
|
||||||
|
{{* voir si l'immo est prise en charge *}}
|
||||||
|
{{#load type="immo" where="$$.line = :line_id" :line_id=$immo_id|intval}}
|
||||||
|
{{:assign status=$status}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign montant_immo=$amount}}
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
{{:assign amortissable="nsp"}}
|
||||||
|
{{:assign status="unknown"}}
|
||||||
|
{{/load}}
|
||||||
|
{{if $status == "ignored"}}
|
||||||
|
{{:continue}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{* voir s'il existe une écriture liée qui solde l'immobilisation *}}
|
||||||
|
{{#select
|
||||||
|
trans.date as exit_date
|
||||||
|
FROM acc_transactions_links AS link
|
||||||
|
INNER JOIN acc_transactions AS trans ON
|
||||||
|
(CASE
|
||||||
|
WHEN link.id_transaction = :trans_id THEN link.id_related
|
||||||
|
WHEN link.id_related = :trans_id THEN link.id_transaction
|
||||||
|
END) = trans.id
|
||||||
|
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
|
||||||
|
INNER JOIN acc_accounts AS acc on line.id_account=acc.id
|
||||||
|
WHERE line.credit = :montant_immo
|
||||||
|
AND acc.code = :account_code
|
||||||
|
;
|
||||||
|
:trans_id = $trans_id
|
||||||
|
:montant_immo = $montant_immo
|
||||||
|
:account_code = $account_code
|
||||||
|
}}
|
||||||
|
{{:assign status="archived"}}
|
||||||
|
{{:assign exit_date=$exit_date}}
|
||||||
|
{{/select}}
|
||||||
|
|
||||||
|
{{if $status != "archived"}}
|
||||||
|
{{: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}}
|
||||||
|
{{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}}
|
||||||
|
{{: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}}
|
||||||
|
|
||||||
{{* 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
|
||||||
trans.id,
|
trans.id,
|
||||||
|
|
@ -100,21 +124,33 @@
|
||||||
acc.label
|
acc.label
|
||||||
FROM acc_transactions_links AS link
|
FROM acc_transactions_links AS link
|
||||||
INNER JOIN acc_transactions AS trans ON (CASE
|
INNER JOIN acc_transactions AS trans ON (CASE
|
||||||
WHEN link.id_transaction = :trans_id THEN link.id_related
|
WHEN link.id_transaction = :trans_id THEN link.id_related
|
||||||
WHEN link.id_related = :trans_id THEN link.id_transaction
|
WHEN link.id_related = :trans_id THEN link.id_transaction
|
||||||
END) = trans.id
|
END) = trans.id
|
||||||
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 acc ON line.id_account = acc.id
|
INNER JOIN acc_accounts AS acc ON line.id_account = acc.id
|
||||||
WHERE (link.id_transaction = :trans_id OR link.id_related = :trans_id) AND acc.code = 462
|
WHERE (link.id_transaction = :trans_id OR link.id_related = :trans_id) AND acc.code = 462
|
||||||
;
|
;
|
||||||
:trans_id = $trans_id
|
:trans_id = $trans_id
|
||||||
}}
|
}}
|
||||||
{{:assign var="montant" from="montant_cessions.%d"|args:$account_code}}
|
{{:assign var="montant" from="montant_cessions.%d"|args:$account_code}}
|
||||||
{{: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}}
|
||||||
{{/foreach}}
|
|
||||||
</tbody>
|
<tr>
|
||||||
|
<td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td>
|
||||||
|
<td>{{$trans_date|date_short}}</td>
|
||||||
|
<td>{{$exit_date|date_short}}</td>
|
||||||
|
<td>{{$trans_label}}</td>
|
||||||
|
<td class="money">{{"%f"|math:$montant_immo|money_html:false|raw}}</td>
|
||||||
|
<td><a href={{$compte_url}}>{{$account_code}}</a></td>
|
||||||
|
<td>{{$account_label}}</td>
|
||||||
|
<td>{{$project_label}}</td>
|
||||||
|
<td class="actions">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/select}}
|
||||||
</tbody>
|
</tbody>
|
||||||
<tfoot>
|
<tfoot>
|
||||||
{{if $total_immo != 0}}
|
{{if $total_immo != 0}}
|
||||||
|
|
@ -130,18 +166,18 @@
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="actions"></td>
|
<td class="actions"></td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="strong">Total des immobilisations</td>
|
<td class="strong">Total des immobilisations</td>
|
||||||
<td class="money strong">{{$total_immo|money_html:false|raw}}</td>
|
<td class="money strong">{{$total_immo|money_html:false|raw}}</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td class="actions"></td>
|
<td class="actions"></td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{if $total_cessions != 0}}
|
{{if $total_cessions != 0}}
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
||||||
|
|
@ -31,22 +31,21 @@
|
||||||
{{* lister les immobilisations *}}
|
{{* lister les immobilisations *}}
|
||||||
{{:include file="_get_config.html" keep="module.config"}}
|
{{:include file="_get_config.html" keep="module.config"}}
|
||||||
|
|
||||||
{{:assign condition="("}}
|
{{:assign account_condition="("}}
|
||||||
{{#foreach from=$module.config.prefixes item="code"}}
|
{{#foreach from=$module.config.prefixes item="code"}}
|
||||||
{{:assign code=$code|cat:"%"|quote_sql}}
|
{{:assign code=$code|cat:"%"|quote_sql}}
|
||||||
{{:assign condition=$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 condition=$condition|cat:"0)"}}
|
{{:assign account_condition=$account_condition|cat:"0)"}}
|
||||||
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
|
||||||
|
|
||||||
{{:assign filter_condition=" NOT ("}}
|
{{:assign filter_condition=" AND 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=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}}
|
||||||
{{:assign nb_immo=0}}
|
{{:assign nb_immo=0}}
|
||||||
{{:assign total_immo = 0}}
|
{{:assign total_immo = 0}}
|
||||||
{{#select
|
{{#select
|
||||||
|
|
@ -54,10 +53,10 @@
|
||||||
trans.label as trans_label,
|
trans.label as trans_label,
|
||||||
trans.date as trans_date,
|
trans.date as trans_date,
|
||||||
line.id as immo_id,
|
line.id as immo_id,
|
||||||
|
line.debit AS debit,
|
||||||
account.id as account_id,
|
account.id as account_id,
|
||||||
account.code as account_code,
|
account.code as account_code,
|
||||||
account.label as account_label,
|
account.label as account_label,
|
||||||
line.debit AS debit,
|
|
||||||
trans.id_year as trans_id_year
|
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
|
||||||
|
|
@ -70,11 +69,15 @@
|
||||||
{{: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 duration=null}}
|
{{:assign duration=null}}
|
||||||
|
{{:assign montant_immo=$debit}}
|
||||||
|
|
||||||
{{* 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_id|intval}}
|
{{#load type="immo" where="$$.line = :line_id" :line_id=$immo_id|intval}}
|
||||||
{{:assign duration=$duration}}
|
{{:assign duration=$duration}}
|
||||||
{{:assign status=$status}}
|
{{:assign status=$status}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign montant_immo=$amount}}
|
||||||
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign amortissable="nsp"}}
|
{{:assign amortissable="nsp"}}
|
||||||
{{:assign status="unknown"}}
|
{{:assign status="unknown"}}
|
||||||
|
|
@ -84,25 +87,17 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* voir s'il existe une écriture qui solde l'immobilisation *}}
|
{{* voir s'il existe une écriture qui solde l'immobilisation *}}
|
||||||
{{:assign ignore=false}}
|
|
||||||
{{#select
|
{{#select
|
||||||
line.id AS line,
|
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
|
FROM acc_transactions_lines AS line
|
||||||
INNER JOIN acc_accounts AS acc ON acc.id = line.id_account
|
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
|
INNER JOIN acc_transactions_lines AS line2 ON line2.id_account = acc.id
|
||||||
WHERE
|
WHERE
|
||||||
line.id = :line_id
|
line.id = :line_id
|
||||||
AND line2.credit = line.debit;
|
AND line2.credit = :montant_immo;
|
||||||
:line_id = $immo_id|intval
|
:line_id = $immo_id|intval
|
||||||
}}
|
:montant_immo = $montant_immo
|
||||||
{{:assign ignore=true}}
|
}}
|
||||||
{{:assign status="archived"}}
|
{{:assign status="archived"}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
{{if $status == "archived"}}
|
{{if $status == "archived"}}
|
||||||
|
|
@ -138,29 +133,29 @@
|
||||||
{{:assign exist_amort=false}}
|
{{:assign exist_amort=false}}
|
||||||
{{:assign amort_amount=0}}
|
{{:assign amort_amount=0}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign amort_amount=$amort_amount}}
|
|
||||||
{{:assign exist_amort=true}}
|
{{:assign exist_amort=true}}
|
||||||
|
{{:assign amort_amount=$amort_amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
|
||||||
{{* classement par onglet *}}
|
{{* classement par onglet *}}
|
||||||
{{if $type_immo == "managed" && $amort_amount >= $debit}}{{:continue}}{{/if}}
|
{{if $type_immo == "managed" && $amort_amount >= $montant_immo}}{{:continue}}{{/if}}
|
||||||
{{if $type_immo == "managed" && $status == "amortized"}}{{:continue}}{{/if}}
|
{{if $type_immo == "managed" && $status == "amortized"}}{{:continue}}{{/if}}
|
||||||
{{if $status == "unknown" && ! $exist_amort}}{{:continue}}{{/if}}
|
{{if $status == "unknown" && ! $exist_amort}}{{:continue}}{{/if}}
|
||||||
{{if $type_immo == "amortized" && $amort_amount < $debit && $status != "amortized"}}{{:continue}}{{/if}}
|
{{if $type_immo == "amortized" && $amort_amount < $montant_immo && $status != "amortized"}}{{:continue}}{{/if}}
|
||||||
|
|
||||||
{{:assign nb_immo="%d+1"|math:$nb_immo}}
|
{{: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:$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:$debit}}
|
{{:assign var="sommes_immo.%s"|args:$account_code value="%d+%d"|math:$montant:$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>
|
||||||
<td>{{$trans_date|date_short}}</td>
|
<td>{{$trans_date|date_short}}</td>
|
||||||
<td>{{$trans_label}}</td>
|
<td>{{$trans_label}}</td>
|
||||||
<td class="money">{{$debit|money_html:false|raw}}</td>
|
<td class="money">{{$montant_immo|money_html:false|raw}}</td>
|
||||||
<td class="money">{{if $duration != null}}{{$duration}}{{/if}}</td>
|
<td class="money">{{if $duration != null}}{{$duration}}{{/if}}</td>
|
||||||
<td class="money">{{$amort_amount|money_html:false|raw}}</td>
|
<td class="money">{{$amort_amount|money_html:false|raw}}</td>
|
||||||
<td class="money">{{"%d-%d"|math:$debit:$amort_amount|money_html:false|raw}}</td>
|
<td class="money">{{"%d-%d"|math:$montant_immo:$amort_amount|money_html:false|raw}}</td>
|
||||||
<td><a href={{$compte_url}}>{{$account_code}}</a></td>
|
<td><a href={{$compte_url}}>{{$account_code}}</a></td>
|
||||||
<td class="actions">
|
<td class="actions">
|
||||||
{{if ! $exist_amort}}
|
{{if ! $exist_amort}}
|
||||||
|
|
|
||||||
|
|
@ -8,26 +8,28 @@
|
||||||
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
|
{{* données de l'immobilisaion *}}
|
||||||
|
{{#select
|
||||||
|
trans.date as date_achat,
|
||||||
|
line.debit as montant
|
||||||
|
FROM acc_transactions_lines AS line
|
||||||
|
INNER join acc_transactions AS trans ON line.id_transaction = trans.id
|
||||||
|
WHERE line.id = :line_id;
|
||||||
|
:line_id = $_GET.immo_id
|
||||||
|
assign=ligne_immo
|
||||||
|
}}
|
||||||
|
{{/select}}
|
||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
{{if $_POST.classify == null}}
|
{{if $_POST.classify == null}}
|
||||||
{{:error message="Vous devez choisir une action"}}
|
{{:error message="Vous devez choisir une action"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* chercher la date d'acquisition de l'immobilisation *}}
|
|
||||||
{{#select
|
|
||||||
trans.date as date_achat
|
|
||||||
FROM acc_transactions_lines AS line
|
|
||||||
INNER join acc_transactions AS trans ON line.id_transaction = trans.id
|
|
||||||
WHERE line.id = :line_id;
|
|
||||||
:line_id = $_GET.immo_id
|
|
||||||
assign=ligne_immo
|
|
||||||
}}
|
|
||||||
{{/select}}
|
|
||||||
|
|
||||||
{{if $_POST.classify == "ignored"}}
|
{{if $_POST.classify == "ignored"}}
|
||||||
{{* ne pas amortir *}}
|
{{* ne pas amortir *}}
|
||||||
{{:assign duration=0}}
|
{{:assign duration=0}}
|
||||||
|
{{:assign montant=0}}
|
||||||
{{:assign date_debut=$ligne_immo.date_achat|parse_date}}
|
{{:assign date_debut=$ligne_immo.date_achat|parse_date}}
|
||||||
{{:assign status="ignored"}}
|
{{:assign status="ignored"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
@ -38,6 +40,7 @@
|
||||||
{{:assign da=$ligne_immo.date_achat|date_short}}
|
{{:assign da=$ligne_immo.date_achat|date_short}}
|
||||||
{{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}}
|
{{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{if $_POST.classify == "amortized"}}
|
{{if $_POST.classify == "amortized"}}
|
||||||
{{:assign duration=0}}
|
{{:assign duration=0}}
|
||||||
{{:assign status="amortized"}}
|
{{:assign status="amortized"}}
|
||||||
|
|
@ -48,6 +51,7 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:assign status="managed"}}
|
{{:assign status="managed"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{:assign montant="%d*100"|math:$_POST.montant}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* enregistrer les infos de l'immobilisation *}}
|
{{* enregistrer les infos de l'immobilisation *}}
|
||||||
|
|
@ -56,18 +60,22 @@
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign key=$info_immo.key}}
|
{{:assign key=$info_immo.key}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{:save
|
{{:save
|
||||||
key=$key
|
key=$key
|
||||||
validate_schema="schema.json"
|
validate_schema="schema.json"
|
||||||
type="immo"
|
type="immo"
|
||||||
line=$_GET.immo_id|intval
|
line=$_GET.immo_id|intval
|
||||||
duration=$duration
|
duration=$duration
|
||||||
|
amount=$montant|intval
|
||||||
date=$date_debut
|
date=$date_debut
|
||||||
status=$status
|
status=$status
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{if $_POST.classify == "managed" || $_POST.classify == "amortized"}}
|
{{if $_POST.classify == "managed" || $_POST.classify == "amortized"}}
|
||||||
{{:assign type_immo=$_POST.classify}}
|
{{:assign type_immo=$_POST.classify}}
|
||||||
|
{{elseif $_POST.classify == "ignored"}}
|
||||||
|
{{:assign type_immo="other"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign type_immo=$_GET.type_immo}}
|
{{:assign type_immo=$_GET.type_immo}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
@ -89,20 +97,24 @@
|
||||||
{{:assign default=$info_immo.status}}
|
{{:assign default=$info_immo.status}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{if $_GET.type_immo == "managed" || $_GET.type_immo == "amortized"}}
|
{{if $info_immo != null}}
|
||||||
{{:assign disabled=0}}
|
{{:assign date_defaut=$info_immo.date}}
|
||||||
|
{{:assign duree_defaut=$info_immo.duration}}
|
||||||
|
{{:assign montant_defaut=$info_immo.amount}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign disabled=1}}
|
{{:assign duree_defaut=null}}
|
||||||
|
{{:assign montant_defaut=null}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{*
|
{{*
|
||||||
- classer l'immobilisation
|
- classer l'immobilisation
|
||||||
- renseigner ou modifier la date de mise en service et la durée d'amortissement
|
- renseigner ou modifier la date de mise en service, le montant de
|
||||||
*}}
|
l'immobilisation et la durée d'amortissement
|
||||||
|
*}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<fieldset id="classement_immo">
|
<fieldset>
|
||||||
<legend>Classement</legend>
|
<legend>Classement</legend>
|
||||||
<dl>
|
<dl id="classement_immo">
|
||||||
<dt><label>Faites un choix</label> <b>(obligatoire)</b></dt>
|
<dt><label>Faites un choix</label> <b>(obligatoire)</b></dt>
|
||||||
{{:input type="radio-btn" name="classify" value="managed" label="Amortir" default=$default}}
|
{{:input type="radio-btn" name="classify" value="managed" label="Amortir" default=$default}}
|
||||||
{{:input type="radio-btn" name="classify" value="amortized" label="Amortissement terminé" help="Cette immobilisation sera classée parmi les immobilisations amorties" default=$default}}
|
{{:input type="radio-btn" name="classify" value="amortized" label="Amortissement terminé" help="Cette immobilisation sera classée parmi les immobilisations amorties" default=$default}}
|
||||||
|
|
@ -113,15 +125,10 @@
|
||||||
<fieldset id="infos_immo">
|
<fieldset id="infos_immo">
|
||||||
<legend>Informations</legend>
|
<legend>Informations</legend>
|
||||||
<dl>
|
<dl>
|
||||||
{{if $info_immo != null}}
|
|
||||||
{{:assign date_defaut=$info_immo.date}}
|
|
||||||
{{:assign duree_defaut=$info_immo.duration}}
|
|
||||||
{{else}}
|
|
||||||
{{:assign duree_defaut=null}}
|
|
||||||
{{/if}}
|
|
||||||
<div id="div_inputs">
|
<div id="div_inputs">
|
||||||
{{:input type="number" name="duree" label="Durée d'amortissement" default=$duree_defaut required=true min=1 disabled=$disabled}}
|
{{:input type="number" name="duree" label="Durée d'amortissement" default=$duree_defaut required=true min=1 }}
|
||||||
{{:input type="date" name="date_mes" label="Date de mise en service" default=$date_defaut disabled=$disabled help="à renseigner uniquement si différente de la date d'acquisition"}}
|
{{:input type="money" name="montant" label="Montant" default=$montant_defaut help="à renseigner uniquement si différent du montant de l'acquisition"}}
|
||||||
|
{{:input type="date" name="date_mes" label="Date de mise en service" default=$date_defaut help="à renseigner uniquement si différente de la date d'acquisition"}}
|
||||||
</div>
|
</div>
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
@ -134,24 +141,23 @@
|
||||||
|
|
||||||
{{:admin_footer}}
|
{{:admin_footer}}
|
||||||
|
|
||||||
{{* activer/désactiver les champs de saisie *}}
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function toggleInputFields(idiv, idrb1) {
|
var info_immo = {{$info_immo|json_encode|raw}};
|
||||||
const rb1 = document.getElementById(idrb1);
|
|
||||||
const fs = document.getElementById(idiv);
|
// afficher/masquer les champs de saisie
|
||||||
for (let field of fs.querySelectorAll("input")) {
|
function toggleInputs(event) {
|
||||||
if (! rb1.checked) {
|
const classement_immo = document.getElementById('classement_immo');
|
||||||
field.setAttribute("disabled","disabled");
|
const managed = classement_immo.querySelector('input[type=radio][value=managed]');
|
||||||
}
|
const amortized = classement_immo.querySelector('input[type=radio][value=amortized]');
|
||||||
else {
|
if (managed.checked) {
|
||||||
field.removeAttribute("disabled");
|
g.toggle('#infos_immo', true);
|
||||||
}
|
} else if (amortized.checked && info_immo != null && info_immo.duration != 0) {
|
||||||
|
g.toggle('#infos_immo', true);
|
||||||
|
} else {
|
||||||
|
g.toggle('#infos_immo', false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
toggleInputs();
|
||||||
function toggleInputs(event) {
|
|
||||||
toggleInputFields('div_inputs', 'f_classify_managed');
|
|
||||||
}
|
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
const radios = document.querySelectorAll('input[name="classify"]');
|
const radios = document.querySelectorAll('input[name="classify"]');
|
||||||
|
|
|
||||||
|
|
@ -23,14 +23,17 @@
|
||||||
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
|
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
{{:assign date_debut=$ligne_immo.date}}
|
{{:assign date_debut=$ligne_immo.date}}
|
||||||
{{:assign solde=$ligne_immo.montant}}
|
|
||||||
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
|
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
|
||||||
|
|
||||||
{{#load type="immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
{{#load type="immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
||||||
{{:assign duree=$duration}}
|
{{:assign duree=$duration}}
|
||||||
{{:assign date_debut=$date}}
|
{{:assign date_debut=$date}}
|
||||||
{{:assign status=$status}}
|
{{:assign status=$status}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign var="ligne_immo.montant" value=$amount}}
|
||||||
|
{{/if}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
{{:assign solde=$ligne_immo.montant}}
|
||||||
|
|
||||||
{{* chercher des écritures d'amortissement liées à l'immobilisation *}}
|
{{* chercher des écritures d'amortissement liées à l'immobilisation *}}
|
||||||
{{#select
|
{{#select
|
||||||
|
|
@ -119,7 +122,6 @@
|
||||||
{{/select}}
|
{{/select}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
|
||||||
|
|
||||||
{{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortization"}}
|
{{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortization"}}
|
||||||
|
|
||||||
{{* barre de navigation *}}
|
{{* barre de navigation *}}
|
||||||
|
|
@ -204,7 +206,7 @@
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 class="center-block ruler">Amortissements enregistrés</h3>
|
<h3 class="ruler">Amortissements enregistrés</h3>
|
||||||
{{if $linked_lines != null}}
|
{{if $linked_lines != null}}
|
||||||
<section class="amortissement">
|
<section class="amortissement">
|
||||||
<table class="list">
|
<table class="list">
|
||||||
|
|
@ -213,7 +215,7 @@
|
||||||
<th>N°</th>
|
<th>N°</th>
|
||||||
<th>Date</th>
|
<th>Date</th>
|
||||||
<th class="nombre">Montant</th>
|
<th class="nombre">Montant</th>
|
||||||
<th class="nombre">Solde</th>
|
<th class="nombre">Valeur nette</th>
|
||||||
<th>Libellé</th>
|
<th>Libellé</th>
|
||||||
<th>N° compte</th>
|
<th>N° compte</th>
|
||||||
<th>Compte</th>
|
<th>Compte</th>
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,9 @@
|
||||||
{{:assign ts_mes=$date|strtotime}}
|
{{:assign ts_mes=$date|strtotime}}
|
||||||
{{:assign date_debut=$date}}
|
{{:assign date_debut=$date}}
|
||||||
{{:assign duree_amort=$duration}}
|
{{:assign duree_amort=$duration}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign var="ligne_immo.montant" value=$amount}}
|
||||||
|
{{/if}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
{{* chercher des écritures d'amortissement liées à l'immobilisation *}}
|
{{* chercher des écritures d'amortissement liées à l'immobilisation *}}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,11 @@
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
|
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
{{#load type="immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign var="ligne_immo.montant" value=$amount}}
|
||||||
|
{{/if}}
|
||||||
|
{{/load}}
|
||||||
|
|
||||||
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.montant:$_GET.amort_amount}}
|
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.montant:$_GET.amort_amount}}
|
||||||
{{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}}
|
{{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}}
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,9 @@
|
||||||
{{#load type="immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
{{#load type="immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
||||||
{{:assign duree=$duration}}
|
{{:assign duree=$duration}}
|
||||||
{{:assign date_debut=$date}}
|
{{:assign date_debut=$date}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign var="ligne_immo.montant" value=$amount}}
|
||||||
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:error message="Vous devez renseigner la date de mise en service et la durée d'immobilisation"}}
|
{{:error message="Vous devez renseigner la date de mise en service et la durée d'immobilisation"}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,10 @@
|
||||||
"description": "durée de l'amortissement en années",
|
"description": "durée de l'amortissement en années",
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
|
"amount" : {
|
||||||
|
"description": "montant de l'immobilisation si besoin",
|
||||||
|
"type": ["integer", "null"]
|
||||||
|
},
|
||||||
"date" : {
|
"date" : {
|
||||||
"description" : "date de mise en service de l'immobilisation",
|
"description" : "date de mise en service de l'immobilisation",
|
||||||
"type" : ["string", "null"],
|
"type" : ["string", "null"],
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,9 @@
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
|
||||||
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
|
||||||
|
{{if $amount != null}}
|
||||||
|
{{:assign var="ligne_immo.montant" value=$amount}}
|
||||||
|
{{/if}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.montant:$_GET.amort_amount}}
|
{{:assign valeur_nette="%f-%f"|math:$ligne_immo.montant:$_GET.amort_amount}}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue