Liaison immo avec écritures de crédits sur compte d'immobilisation

This commit is contained in:
Jean-Christophe Engel 2026-02-13 14:52:00 +01:00
parent 53695b6547
commit 310aa8cd07
7 changed files with 225 additions and 101 deletions

View file

@ -8,10 +8,13 @@
{{* Infos de l'immobilisation *}}
{{#select
line.debit as montant,
trans.id AS trans_id,
trans.date as date_achat,
trans.label
trans.label,
account.code as account_code
FROM acc_transactions_lines AS line
INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id
INNER JOIN acc_accounts AS account ON line.id_account = account.id
WHERE line.id = :line_id;
:line_id = $_GET.immo_id|intval
assign="ligne_immo"
@ -27,11 +30,31 @@
{{:assign ts_mes=$date|strtotime}}
{{:assign date_debut=$date}}
{{:assign duree_amort=$duration}}
{{if $amount != null}}
{{:assign var="ligne_immo.montant" value=$amount}}
{{/if}}
{{/load}}
{{* 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 total_credits=0}}
{{#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=$ligne_immo.trans_id
:account=$ligne_immo.account_code
}}
{{:assign total_credits="%d+%d"|math:$total_credits:$credit}}
{{/select}}
{{:assign var="ligne_immo.montant" value="%d-%d"|math:$ligne_immo.montant:$total_credits}}
{{* chercher des écritures d'amortissement liées à l'immobilisation *}}
{{#select
SUM(l_amort.credit) as amort_amount,
@ -46,9 +69,7 @@
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_transactions as trans on l_amort.id_transaction = trans.id
INNER JOIN acc_accounts AS account ON l_amort.id_account = account.id