Compare commits

..

No commits in common. "main" and "v0.40.3" have entirely different histories.

8 changed files with 204 additions and 203 deletions

View file

@ -4,33 +4,31 @@
<p class="block help"> <p class="block help">
Cet onglet liste les immobilisations sorties du bilan car elles ne Cet onglet liste les immobilisations sorties du bilan car elles ne
sont plus utilisées dans l'association (vétusté, fin de vie, sont plus utilisées dans l'association (vétusté, fin de vie,
vente...). vente, cession...).
</p> </p>
{{:include file="_get_config.html" keep="module.config"}} {{:include file="_get_config.html" keep="module.config"}}
{{if $module.table != null}} {{* lister les immobilisations *}}
{{:assign account_condition="("}}
{{* lister les immobilisations *}} {{#foreach from=$module.config.prefixes item="code"}}
{{:assign account_condition="("}}
{{#foreach from=$module.config.prefixes item="code"}}
{{:assign code=$code|cat:"%"|quote_sql}} {{:assign code=$code|cat:"%"|quote_sql}}
{{: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 status_condition="($$.status = 'archived')"}}
{{:assign filter_condition=" ("}} {{: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=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16) AND NOT "|cat:$filter_condition|cat:" AND "|cat:$status_condition}} {{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}}
{{:assign total_cessions = 0}} {{:assign nb_immo=0}}
{{:assign total_cessions = 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,
@ -40,31 +38,32 @@
line.debit AS debit, 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
info.id as immo_doc_id,
$$.label as doc_label,
$$.amount as doc_amount,
$$.date_achat as doc_date_achat,
$$.date_mes as doc_date_mes,
$$.status as status
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
INNER JOIN acc_years AS years ON trans.id_year = years.id INNER JOIN acc_years AS years ON trans.id_year = years.id
INNER JOIN !table AS info ON $$.line = line.id
WHERE !condition WHERE !condition
ORDER BY trans.date DESC; ORDER BY trans.date DESC;
!table=$module.table
!condition=$condition !condition=$condition
assign="immo_line" assign="immo_line"
}} }}
{{:assign var="immo_line.date_mes" value=$doc_date_mes|or:$doc_date_achat|or:$trans_date}} {{* voir si l'immo est prise en charge *}}
{{:assign var="immo_line.montant_immo" value=$doc_amount|or:$debit}} {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id assign="info_immo"}}
{{:assign status=$status}}
{{else}}
{{:assign status=null}}
{{/load}}
{{if $status != "archived"}}
{{:continue}}
{{/if}}
{{:assign var="immo_line.date_mes" value=$info_immo.date_mes|or:$trans_date}}
{{:assign var="immo_line.montant_immo" value=$debit}}
{{* chercher le doc de sortie du bilan *}} {{* chercher le doc de sortie du bilan *}}
{{:assign var="immo_line.exit_date" value=null}} {{:assign var="immo_line.exit_date" value=null}}
{{#load type="exit_link" where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id=$immo_doc_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
trans.date trans.date
@ -82,7 +81,7 @@
{{:assign total_credits=0}} {{:assign total_credits=0}}
{{#load {{#load
type="credit_link" type="credit_link"
where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id = $immo_doc_id where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id = $info_immo.id
}} }}
{{if $amount == null}} {{if $amount == null}}
{{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id; {{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id;
@ -95,33 +94,42 @@
{{/if}} {{/if}}
{{/load}} {{/load}}
{{:assign solde_immo="%d-%d"|math:$immo_line.montant_immo:$total_credits}} {{:assign solde_immo="%d-%d"|math:$immo_line.montant_immo:$total_credits}}
{{if $solde_immo == 0}}
{{:assign status="archived"}}
{{/if}}
{{if $status != "archived"}}
{{:continue}}
{{/if}}
{{:assign nb_immo="%d+1"|math:$nb_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:$immo_line.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
trans.id as cession_id, trans.id,
trans.label, line.debit
line.id as line_id, FROM acc_transactions_links AS link
line.credit INNER JOIN acc_transactions AS trans ON (CASE
FROM acc_transactions_lines AS line WHEN link.id_transaction = :trans_id THEN link.id_related
INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id WHEN link.id_related = :trans_id THEN link.id_transaction
INNER JOIN !table AS cession_link ON json_extract(cession_link.document, '$.cession_line_id') = line.id END) = trans.id
INNER JOIN !table AS immo_doc ON json_extract(cession_link.document, '$.immo_doc_id') = immo_doc.id INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
WHERE json_extract(immo_doc.document, '$.line') = :immo_line_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
; ;
!table=$module.table :trans_id = $trans_id
:immo_line_id = $immo_line.immo_line_id
assign="cession_line"
}} }}
{{: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:$credit}} {{:assign var="montant_cessions.%d"|args:$account_code value="%d+%d"|math:$montant:$debit}}
{{:assign total_cessions="%d+%d"|math:$total_cessions:$credit}} {{:assign total_cessions="%d+%d"|math:$total_cessions:$debit}}
{{/select}} {{/select}}
{{:assign var="immo_lines." value=$immo_line}} {{:assign var="immo_lines." value=$immo_line}}
{{/select}} {{/select}}
{{if $immo_lines|count > 0}} {{if $immo_lines|count > 0}}
<section class="immobilisation"> <section class="immobilisation">
<table class="list"> <table class="list">
<thead> <thead>
@ -143,20 +151,17 @@
{{: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 total_immo="%d+%d"|math:$total_immo:$montant_immo}} {{:assign total_immo="%d+%d"|math:$total_immo:$montant_immo}}
{{: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}}
<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>{{$date_mes|date_short}}</td> <td>{{$date_mes|date_short}}</td>
<td>{{$exit_date|date_short}}</td> <td>{{$exit_date|date_short}}</td>
<td>{{$label_immo}}</td> <td>{{$trans_label}}{{if $line_label != null && $line_label != $trans_label}} — {{$line_label}}{{/if}}</td>
<td class="money">{{"%f"|math:$montant_immo|money_html:false|raw}}</td> <td class="money">{{"%f"|math:$montant_immo|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$account_code}}</a></td> <td><a href="{{$compte_url}}">{{$account_code}}</a></td>
<td>{{$account_label}}</td> <td>{{$account_label}}</td>
<td class="actions"> <td class="actions">
{{:linkbutton label="Modifier" href="exit_step1.html?immo_doc_id=%s&from=exit"|args:$immo_doc_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>
{{/foreach}} {{/foreach}}
@ -219,8 +224,6 @@
</tfoot> </tfoot>
</table> </table>
</section> </section>
{{/if}} {{else}}
{{/if}}
{{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

@ -9,4 +9,4 @@
{{:assign ts_debut=$date_debut|strtotime}} {{:assign ts_debut=$date_debut|strtotime}}
{{:assign ts_fin=$date_fin|strtotime}} {{:assign ts_fin=$date_fin|strtotime}}
{{:assign nbjours="round(1+abs(%d-%d)/(60*60*24), 0)"|math:$ts_fin:$ts_debut}} {{:assign nbjours="1+abs(%d-%d)/(60*60*24)"|math:$ts_fin:$ts_debut}}

View file

@ -17,7 +17,7 @@
id_transaction id_transaction
FROM acc_transactions_lines FROM acc_transactions_lines
WHERE id = :line_id; WHERE id = :line_id;
:line_id = $line_id :line_id = $line_id|intval
}} }}
{{:assign trans_id=$id_transaction}} {{:assign trans_id=$id_transaction}}
{{else}} {{else}}

View file

@ -36,4 +36,4 @@
exit_line_id=$_GET.exit_line_id|intval exit_line_id=$_GET.exit_line_id|intval
}} }}
{{:redirect force="exit_step4.html?immo_doc_id=%s&from=exit&ok=1&msg=attach_exit"|args:$_GET.immo_doc_id}} {{:redirect to="exit_step4.html?immo_doc_id=%s&from=exit&ok=1&msg=attach_exit"|args:$_GET.immo_doc_id}}

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.4"}} {{: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

@ -120,6 +120,8 @@
{{/if}} {{/if}}
{{:form_errors}} {{:form_errors}}
{{:assign choix_defaut=$_GET.type_immo}}
{{* {{*
modifier la date de mise en service, les écritures associées ou la durée d'amortissement modifier la date de mise en service, les écritures associées ou la durée d'amortissement
*}} *}}

View file

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

@ -41,11 +41,6 @@
{{:assign amort_label=$line_label|or:$trans_label}} {{:assign amort_label=$line_label|or:$trans_label}}
{{/foreach}} {{/foreach}}
{{* date de début du 1er exercice dans paheko *}}
{{#years order="start_date" limit=1}}
{{:assign first_date=$start_date}}
{{/years}}
{{if $total_amort == 0}} {{if $total_amort == 0}}
{{* 1er amortissement *}} {{* 1er amortissement *}}
{{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}} {{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}}
@ -60,10 +55,8 @@
{{:assign var=libelle value="Amortissement %s"|args:$ligne_immo.trans_label}} {{:assign var=libelle value="Amortissement %s"|args:$ligne_immo.trans_label}}
{{else}} {{else}}
{{* amortissements suivants *}} {{* amortissements suivants *}}
{{if $date_debut != $first_date}}
{{:assign date_debut=$date_debut|strtotime}} {{:assign date_debut=$date_debut|strtotime}}
{{:assign date_debut="%d+(60*60*24)"|math:$date_debut|date:"Y-m-d"}} {{:assign date_debut="%d+(60*60*24)"|math:$date_debut|date:"Y-m-d"}}
{{/if}}
{{/if}} {{/if}}
{{* {{*
@ -251,6 +244,9 @@
{{: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"}}
{{if $total_amort == 0 || $nbjours < 365 || $nbjours > 366}} {{if $total_amort == 0 || $nbjours < 365 || $nbjours > 366}}
{{:assign msg="Montant calculé au prorata du nombre de jours d'amortissement dans l'exercice"}} {{: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}} {{/if}}
{{:input type="money" name="montant" label="Montant" required=true default=$montant_amort help=$msg}} {{:input type="money" name="montant" label="Montant" required=true default=$montant_amort help=$msg}}
{{:input {{:input