@@ -29,25 +30,24 @@
{{* lister les immobilisations *}} - {{:include file="_get_config.html" keep="module.config"}} - {{:assign account_condition="("}} {{#foreach from=$module.config.prefixes item="code"}} {{:assign code=$code|cat:"%"|quote_sql}} {{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{/foreach}} {{:assign account_condition=$account_condition|cat:"0)"}} + {{:assign doc_condition="($$.status <> 'ignored' AND $$.status <> 'archived')"}} - {{:assign filter_condition=" NOT ("}} + {{:assign filter_condition="NOT ("}} {{#foreach from=$module.config.filters item="filter"}} {{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}} {{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}} {{/foreach}} {{:assign filter_condition=$filter_condition|cat:"0)"}} {{:assign filter_condition="($$.status IS NULL AND NOT (trans.status & 16) AND "|cat:$filter_condition|cat:")"}} - {{:assign doc_condition="($$.status <> 'ignored' AND $$.status <> 'archived')"}} {{:assign condition=$account_condition|cat:" AND debit > 0 AND ("|cat:$filter_condition|cat:" OR "|cat:$doc_condition|cat:")"}} + {{:assign nb_immo=0}} {{:assign total_immo = 0}} {{#select @@ -100,12 +100,14 @@ }} {{:assign montant_immo="%d-%d"|math:$montant_immo:$credit}} {{/select}} + {{* Immobilisation soldée ? *}} + {{* TODO marquer archivée *}} {{if $montant_immo == 0}} {{:continue}} {{/if}} - {{* voir s'il existe des écritures d'amortissement associées *}} + {{* lister les lignes des écritures d'amortissement liées à l'immobilisation *}} {{:assign amort_lines=null}} {{#select l_amort.credit as amount, @@ -122,25 +124,48 @@ INNER JOIN acc_accounts AS account ON l_amort.id_account = account.id WHERE l_immo.id = :line_id AND l_amort.credit <> 0 AND account.code LIKE '28%'; :line_id = $immo_line_id|intval - assign="amort_lines." + assign="line" }} + {{:assign var="amort_lines.%d."|args:$amort_trans_id value=$line}} {{/select}} {{:assign amort_amount=0}} - {{#foreach from=$amort_lines item="elem"}} - {{* voir s'il existe un doc associé à l'écriture d'amortissement *}} + {{#foreach from=$amort_lines key="amort_trans_id" item="lines"}} + {{:assign nb=$lines|count}} + {{* lister les docs de liaison de l'écriture d'amortissement *}} + {{:assign links=null}} {{#load type="link" where="$$.immo_line_id = :immo_line_id AND $$.amort_trans_id = :amort_trans_id" - assign="link" :immo_line_id = $immo_line_id - :amort_trans_id = $elem.amort_trans_id + :amort_trans_id = $amort_trans_id + assign="links." }} - {{if $link.amort_line_id == $elem.amort_line_id}} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$amount}} - {{/if}} - {{else}} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$amount}} {{/load}} + + {{#foreach from=$lines item="line"}} + {{* voir s'il existe une ligne associée à l'écriture d'amortissement *}} + {{:assign line_link_exist=false}} + {{#foreach from=$links item="link"}} + {{if $link.amort_line_id == $line.amort_line_id}} + {{:assign amort_amount="%d+%d"|math:$amort_amount:$line.amount}} + {{:assign line_link_exist=true}} + {{/if}} + {{/foreach}} + {{if ! $line_link_exist}} + {{if $nb == 1}} + {{* créer la liaison ligne immo <-> ligne amort *}} +{{*:debug lier_immo_line_id=$immo_line_id lier_amort_trans_id=$amort_trans_id avec_amort_line_id=$amort_line_id*}} + {{:save + key=""|uuid + type="link" + immo_line_id=$immo_line_id + amort_line_id=$amort_line_id + amort_trans_id=$amort_trans_id + }} + {{:assign amort_amount="%d+%d"|math:$amort_amount:$line.amount}} + {{/if}} + {{/if}} + {{/foreach}} {{/foreach}} {{if $amort_amount == 0}} diff --git a/_immobilisations_autres.html b/_immobilisations_autres.html index 80b91d0..69f2603 100644 --- a/_immobilisations_autres.html +++ b/_immobilisations_autres.html @@ -2,13 +2,13 @@ {{* Liste des immobilisations non amortissables ou non (encore) gérées *}} +{{:include file="_get_config.html" keep="module.config"}}Cette page liste les écritures pas (encore) prises en charge par le module et sans écriture d'amortissement associée.
- {{:include file="_get_config.html" keep="module.config"}} {{:assign saved_hides=$module.config.hides}} {{:assign var="user_hides" from="saved_hides.%s"|args:$logged_user.id}} @@ -37,7 +37,7 @@| N° | +N° | Date | Libellé | Montant | @@ -49,53 +49,58 @@|||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #{{$trans_id}} | +#{{$immo_trans_id}} | {{$trans_date|date_short}} | {{$trans_label}}{{if $line_label != null && $line_label != $trans_label}} — {{$line_label}}{{/if}} | {{"%f"|math:$debit|money_html:false|raw}} | diff --git a/amortization.html b/amortization.html index 342abf3..cf162a2 100644 --- a/amortization.html +++ b/amortization.html @@ -65,14 +65,14 @@ {{* lister les lignes des écritures d'amortissement liées à l'immobilisation *}} {{#select l_amort.credit as amort_amount, - l_amort.label as amort_label, + l_amort.label as amort_line_label, l_amort.id as amort_line_id, CASE WHEN links.id_related = t_immo.id THEN links.id_transaction ELSE links.id_related END as amort_trans_id, trans.date as amort_date, - trans.label as trans_label, + trans.label as amort_trans_label, trans.id_year as amort_year, account.id as account_id, account.code as account_code, @@ -89,17 +89,14 @@ :line_id = $_GET.immo_line_id|intval assign="amort_line" }} - + {{* lister les lignes d'amortissement liées à la ligne d'immobilisation *}} {{#load type="link" - where="$$.immo_line_id = :immo_line_id AND $$.amort_trans_id = :amort_trans_id" + where="$$.immo_line_id = :immo_line_id AND $$.amort_trans_id = :amort_trans_id AND $$.amort_line_id = :amort_line_id" assign="line" :immo_line_id=$_GET.immo_line_id|intval :amort_trans_id=$amort_line.amort_trans_id + :amort_line_id = $amort_line.amort_line_id }} - {{if $line.amort_line_id == $amort_line.amort_line_id}} - {{:assign var="linked_amort." value=$amort_line}} - {{/if}} - {{else}} {{:assign var="linked_amort." value=$amort_line}} {{/load}} {{if $date_debut == null}} @@ -269,7 +266,7 @@
| N° | +N° | Date | Montant | Valeur nette | @@ -291,9 +288,9 @@{{"%f"|math:$line.amort_amount|money_html:false|raw}} | {{"%f"|math:$solde|money_html:false|raw}} | - {{$line.trans_label}} - {{if $line.amort_label != null && $line.amort_label != $line.trans_label}} - — {{$line.amort_label}} + {{$line.amort_trans_label}} + {{if $line.amort_line_label != null && $line.amort_line_label != $line.amort_trans_label}} + — {{$line.amort_line_label}} {{/if}} | {{$line.account_code}} |
|---|