diff --git a/_immobilisations.html b/_immobilisations.html index d287632..d78ca56 100644 --- a/_immobilisations.html +++ b/_immobilisations.html @@ -2,7 +2,6 @@ {{* Liste des immobilisations en cours d'amortissement ou amorties *}} -{{:include file="_get_config.html" keep="module.config"}}

@@ -29,33 +28,26 @@ - {{* vérifier l'existence de la table du module *}} - {{#load limit="1"}} - {{:assign table_presente=true}} - {{else}} - {{:assign table_presente=false}} - {{/load}} - - {{if $table_presente}} {{* 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 @@ -108,14 +100,12 @@ }} {{:assign montant_immo="%d-%d"|math:$montant_immo:$credit}} {{/select}} - {{* Immobilisation soldée ? *}} - {{* TODO marquer archivée *}} {{if $montant_immo == 0}} {{:continue}} {{/if}} - {{* lister les lignes des écritures d'amortissement liées à l'immobilisation *}} + {{* voir s'il existe des écritures d'amortissement associées *}} {{:assign amort_lines=null}} {{#select l_amort.credit as amount, @@ -132,48 +122,25 @@ 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="line" + assign="amort_lines." }} - {{:assign var="amort_lines.%d."|args:$amort_trans_id value=$line}} {{/select}} {{:assign amort_amount=0}} - {{#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}} + {{#foreach from=$amort_lines item="elem"}} + {{* voir s'il existe un doc associé à l'écriture d'amortissement *}} {{#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 = $amort_trans_id - assign="links." + :amort_trans_id = $elem.amort_trans_id }} - {{/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 $link.amort_line_id == $elem.amort_line_id}} + {{:assign amort_amount="%d+%d"|math:$amort_amount:$amount}} {{/if}} - {{/foreach}} + {{else}} + {{:assign amort_amount="%d+%d"|math:$amort_amount:$amount}} + {{/load}} {{/foreach}} {{if $amort_amount == 0}} @@ -207,8 +174,8 @@ label="Paramètres" href="add_infos.html?immo_line_id=%s&type_immo=%s"|args:$immo_line_id:$type_immo shape="settings" + target="_dialog" }} -{{* target="_dialog"*}} {{/if}} {{:linkbutton label="Amortissements" @@ -250,9 +217,8 @@ {{/if}} -{{/if}} - {{if $nb_immo == 0 || ! $table_presente}} + {{if $nb_immo == 0}}

Aucune immobilisation

{{/if}}
diff --git a/_immobilisations_autres.html b/_immobilisations_autres.html index 1f08e9b..80b91d0 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 @@ - + @@ -48,72 +48,54 @@ - {{* vérifier l'existence de la table du module *}} - {{#load limit="1"}} - {{:assign columns="$$.duration as duration, $$.status as status,"}} - {{:assign table_join="LEFT JOIN !table AS info ON $$.line = line.id"}} - {{:assign doc_condition1="($$.status == 'ignored')"}} - {{:assign doc_condition2="$$.status IS NULL"}} - {{else}} - {{:assign columns=""}} - {{:assign table_join=""}} - {{:assign doc_condition1="0"}} - {{:assign doc_condition2="1"}} - {{/load}} - {{* lister les immobilisations *}} - {{:assign account_condition="("}} + {{:assign 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 "}} + {{:assign condition=$condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}} {{/foreach}} - {{:assign account_condition=$account_condition|cat:"0)"}} + {{:assign condition=$condition|cat:"0)"}} + {{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}} {{if $unhide == null}} - {{: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)"}} - {{else}} - {{:assign filter_condition="1"}} + {{:assign condition=$condition|cat:" AND "|cat:$filter_condition}} {{/if}} - {{:assign filter_condition="("|cat:$doc_condition2|cat:" AND NOT (trans.status & 16) AND "|cat:$filter_condition|cat:")"}} - - {{:assign condition=$account_condition|cat:" AND debit > 0 AND ("|cat:$filter_condition|cat:" OR "|cat:$doc_condition1|cat:")"}} {{:assign nb_immo=0}} {{#select - trans.id as immo_trans_id, + trans.id as trans_id, trans.label as trans_label, trans.date as trans_date, line.id as immo_line_id, - line.debit AS debit, - line.label AS line_label, + line.label as line_label, account.id as account_id, account.code as account_code, account.label as account_label, - !columns + 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 - !table_join WHERE !condition ORDER BY trans.date DESC; - !columns=$columns - !table_join=$table_join - !table=$module.table !condition=$condition }} - {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$immo_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}} - {{if $status == null}} + {{* voir si l'immo est prise en charge *}} + {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id|intval}} + {{:assign status=$status}} + {{else}} {{:assign status="unknown"}} - {{/if}} + {{/load}} {{if $unhide == null}} {{if $status != "unknown"}} @@ -131,48 +113,45 @@ {{/foreach}} {{/if}} - {{* lister les lignes des écritures d'amortissement liées à l'immobilisation *}} - {{:assign amort_lines=null}} + {{* voir s'il existe des écritures d'amortissement associées *}} {{#select - l_amort.credit as amort_amount, + sum(l_amort.credit) as amort_amount, CASE links.id_related = t_immo.id WHEN true THEN links.id_transaction WHEN false THEN links.id_related - END as amort_trans_id, - l_amort.id AS amort_line_id + END as amort_trans_id FROM acc_transactions_lines as l_immo INNER JOIN acc_transactions as t_immo on t_immo.id = l_immo.id_transaction INNER JOIN acc_transactions_links as links - ON (t_immo.id = links.id_transaction OR t_immo.id = links.id_related) + ON ( + t_immo.id = links.id_transaction + OR + t_immo.id = links.id_related + ) INNER JOIN acc_transactions_lines as l_amort on amort_trans_id = l_amort.id_transaction 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%'; + 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." }} - {{/select}} - {{:assign amort_amount=0}} - {{#foreach from=$amort_lines item="line"}} - {{* voir s'il existe un doc associé à l'écriture d'amortissement *}} - {{#load type="link" - where="$$.immo_line_id = :immo_line_id AND $$.amort_trans_id = :amort_trans_id AND $$.amort_line_id = :amort_line_id" - :immo_line_id = $immo_line_id - :amort_trans_id = $line.amort_trans_id - :amort_line_id = $line.amort_line_id - }} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$line.amount}} - {{else}} - {{* TODO À VÉRIFIER (cas multi-lignes) *}} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$line.amount}} - {{/load}} - {{/foreach}} - {{if $amort_amount != 0}} - {{:continue}} - {{/if}} + {{if $amort_amount != null}} + {{:assign ignore=true}} + {{else}} + {{:assign ignore=false}} + {{/if}} + {{/select}} + + {{if $ignore}} + {{:continue}} + {{/if}} + {{:assign nb_immo="%d+1"|math:$nb_immo}} - {{:assign nb_immo="%d+1"|math:$nb_immo}} - + diff --git a/add_infos.html b/add_infos.html index 1ee848b..bf0b6be 100644 --- a/add_infos.html +++ b/add_infos.html @@ -9,11 +9,9 @@ {{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_line_id|intval}} {{/load}} {{#select - trans.id as immo_trans_id, - trans.label, + trans.id, trans.date as date_achat, line.debit as montant, - line.label as line_label, acc.code FROM acc_transactions_lines AS line INNER join acc_transactions AS trans ON line.id_transaction = trans.id @@ -39,7 +37,7 @@ WHERE (links.id_transaction = :immo_trans_id or links.id_related = :immo_trans_id) AND line.credit > 0 ; - :immo_trans_id = $ligne_immo.immo_trans_id + :immo_trans_id = $ligne_immo.id }} {{:assign var="linked_transactions.%d."|args:$code value=$linked_id}} {{/select}} @@ -124,7 +122,7 @@ {{if $new_transactions != null}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.immo_trans_id + path="accounting/transaction/%s/transactions"|args:$ligne_immo.id assign="result" assign_code="result_code" transactions=$new_transactions @@ -142,11 +140,11 @@ {{/form}} {{:form_errors}} -{{:admin_header title="Classer l'immobilisation" custom_css="./style.css" current="module_amortization"}} +{{:admin_header title="Classer l'immobilisation" custom_css=$custom_css current="module_amortization"}} {{* barre de navigation *}} {{if ! $dialog}} - {{:include file="_nav.html" current="index" subcurrent="%s"|args:$_GET.type_immo subsubcurrent="parameter"}} + {{:include file="_nav.html" current="index"}} {{/if}} {{:assign choix_defaut=$_GET.type_immo}} @@ -163,23 +161,6 @@ - classer l'immobilisation - renseigner ou modifier la date de mise en service, les écritures associées ou la durée d'amortissement *}} - -{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.immo_trans_id}} -

- Paramètres de l'immobilisation - #{{$ligne_immo.immo_trans_id}} -

-
-
-
Immobilisation
-
#{{$ligne_immo.immo_trans_id}} {{$ligne_immo.label}}{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $ligne_immo.label}} — {{$ligne_immo.line_label}}{{/if}}
-
Montant
-
{{"%f"|math:$ligne_immo.montant|money_currency_html:false|raw}}
-
Date de l'écriture d'immobilisation
-
{{$ligne_immo.date_achat|date_short}}
-
-
-
Classement diff --git a/amortization.html b/amortization.html index cf162a2..342abf3 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_line_label, + l_amort.label as amort_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 amort_trans_label, + trans.label as trans_label, trans.id_year as amort_year, account.id as account_id, account.code as account_code, @@ -89,14 +89,17 @@ :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 AND $$.amort_line_id = :amort_line_id" + where="$$.immo_line_id = :immo_line_id AND $$.amort_trans_id = :amort_trans_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}} @@ -266,7 +269,7 @@
Date Libellé Montant
#{{$immo_trans_id}}#{{$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}}
- + @@ -288,9 +291,9 @@ diff --git a/style.css b/style.css index 6836da9..fd5887b 100644 --- a/style.css +++ b/style.css @@ -76,7 +76,3 @@ table.list tbody tr.ignored:nth-child(even) { font-style: italic; background: rgba(255, 255, 200, 0.5); } - -html.dialog.dark { - filter: none !important; -}
Date Montant Valeur nette{{"%f"|math:$line.amort_amount|money_html:false|raw}} {{"%f"|math:$solde|money_html:false|raw}} - {{$line.amort_trans_label}} - {{if $line.amort_line_label != null && $line.amort_line_label != $line.amort_trans_label}} - — {{$line.amort_line_label}} + {{$line.trans_label}} + {{if $line.amort_label != null && $line.amort_label != $line.trans_label}} + — {{$line.amort_label}} {{/if}} {{$line.account_code}}