diff --git a/_archives.html b/_archives.html index 37b5a13..fafad3b 100644 --- a/_archives.html +++ b/_archives.html @@ -66,10 +66,12 @@ !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"}} @@ -78,46 +80,32 @@ {{:continue}} {{/if}} - {{* chercher des écritures liées à l'immo courante au crédit du même compte - et déduire leur montant de celui de l'immo - *}} - {{:assign solde_immo=$montant_immo}} - {{:assign credit_immo=null}} + {{* voir s'il existe une écriture liée qui solde l'immobilisation *}} {{#select - CASE links.id_related = :immo_id - WHEN true THEN links.id_transaction - WHEN false THEN links.id_related - END as other_id, - line.credit - FROM acc_transactions AS trans - INNER JOIN acc_transactions_links as links - ON (trans.id = links.id_transaction OR trans.id = links.id_related) - INNER JOIN acc_transactions_lines AS line on line.id_transaction = other_id - INNER JOIN acc_accounts AS acc ON line.id_account = acc.id - INNER JOIN acc_transactions AS trans2 ON trans2.id = other_id - WHERE trans.id = :immo_id AND line.credit > 0 AND acc.code = :account - ORDER BY trans2.date, trans2.id + 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 ; - :immo_id=$trans_id - :account=$account_code - assign="credit_immo." + :trans_id = $trans_id + :montant_immo = $montant_immo + :account_code = $account_code }} - {{:assign solde_immo="%d-%d"|math:$solde_immo:$credit}} - {{/select}} - - {{if $solde_immo == 0}} {{:assign status="archived"}} - {{/if}} + {{:assign exit_date=$exit_date}} + {{/select}} {{if $status != "archived"}} {{:continue}} {{/if}} - {{:assign nb=$credit_immo|count}} - {{:assign nb="%d-1"|math:$nb}} - {{:assign var="last_credit" from="credit_immo.%d"|args:$nb}} - {{:assign montant_immo=$last_credit.credit}} - {{: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}} @@ -128,7 +116,12 @@ {{* voir s'il y a une écriture de cession associée à cette immo *}} {{#select trans.id, - line.debit + trans.label, + trans.date, + line.id, + line.debit, + acc.code, + acc.label FROM acc_transactions_links AS link INNER JOIN acc_transactions AS trans ON (CASE WHEN link.id_transaction = :trans_id THEN link.id_related diff --git a/_immobilisations.html b/_immobilisations.html index d8a88f3..aacdc34 100644 --- a/_immobilisations.html +++ b/_immobilisations.html @@ -56,6 +56,7 @@ line.debit AS debit, account.id as account_id, account.code as account_code, + account.label as account_label, 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 @@ -74,6 +75,9 @@ {{#load type="immo" where="$$.line = :line_id" :line_id=$immo_id|intval}} {{:assign duration=$duration}} {{:assign status=$status}} + {{if $amount != null}} + {{:assign montant_immo=$amount}} + {{/if}} {{else}} {{:assign amortissable="nsp"}} {{:assign status="unknown"}} @@ -82,30 +86,20 @@ {{:continue}} {{/if}} - {{* chercher des écritures liées à l'immo courante au crédit du même compte - et déduire leur montant de celui de l'immo - *}} + {{* voir s'il existe une écriture qui solde l'immobilisation *}} {{#select - CASE links.id_related = :immo_id - WHEN true THEN links.id_transaction - WHEN false THEN links.id_related - END as other_id, - line.credit - FROM acc_transactions AS trans - INNER JOIN acc_transactions_links as links - ON (trans.id = links.id_transaction OR trans.id = links.id_related) - INNER JOIN acc_transactions_lines AS line on line.id_transaction = other_id - INNER JOIN acc_accounts AS acc ON line.id_account = acc.id - WHERE trans.id = :immo_id AND line.credit > 0 AND acc.code = :account; - :immo_id=$trans_id - :account=$account_code - }} - {{:assign montant_immo="%d-%d"|math:$montant_immo:$credit}} - {{*:debug ligne=$ligne montant_immo=$montant_immo*}} - {{/select}} - {{if $montant_immo == 0}} + line.id AS line + FROM acc_transactions_lines AS line + 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 + WHERE + line.id = :line_id + AND line2.credit = :montant_immo; + :line_id = $immo_id|intval + :montant_immo = $montant_immo + }} {{:assign status="archived"}} - {{/if}} + {{/select}} {{if $status == "archived"}} {{:continue}} {{/if}} diff --git a/_nav.html b/_nav.html index a7894b5..57a6f51 100644 --- a/_nav.html +++ b/_nav.html @@ -7,7 +7,7 @@ {{elseif $subsubcurrent == "amortization" && $type_immo == null || $type_immo == "managed" || $type_immo == "other"}}