From 780eb206ce1dbe61030396d67893a4e8c9a573c6 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Tue, 2 Jun 2026 14:25:30 +0200 Subject: [PATCH] =?UTF-8?q?Mutualisation=20infos=20immo,=20=C3=A9critures?= =?UTF-8?q?=20cr=C3=A9dit,=20amortissements=20li=C3=A9s=20et=20libres?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _archives.html | 4 +- _get_amort_lines.html | 39 ++++++++++ _get_credit_lines.html | 31 ++++++++ _get_free_amort.html | 46 ++++++++++++ _get_immo_data.html | 39 ++++++++++ _immobilisations.html | 26 ++----- _unfinished.html | 2 +- amortization.html | 150 ++++++++------------------------------- attach_amort.html | 74 ++++--------------- attach_immo.html | 38 ++++------ balance_sheet_exit.html | 135 +++++++++-------------------------- compute_exit_data.html | 99 ++++++++------------------ delete_infos.html | 37 +++------- detach_amort.html | 24 ++----- detach_immo.html | 23 ++---- details_immo.html | 90 +++++------------------ link_immo.html | 35 ++------- modify_infos.html | 81 ++++++--------------- other_amortizations.html | 79 ++++----------------- save_amort.html | 129 +++++++++------------------------ write_exit.html | 108 +++++++--------------------- 21 files changed, 410 insertions(+), 879 deletions(-) create mode 100644 _get_amort_lines.html create mode 100644 _get_credit_lines.html create mode 100644 _get_free_amort.html create mode 100644 _get_immo_data.html diff --git a/_archives.html b/_archives.html index da3f19c..be33053 100644 --- a/_archives.html +++ b/_archives.html @@ -93,9 +93,7 @@ {{/select}} {{/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 - *}} + {{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} {{:assign credit_immo=null}} {{:assign total_credits=0}} {{#load diff --git a/_get_amort_lines.html b/_get_amort_lines.html new file mode 100644 index 0000000..a985fa2 --- /dev/null +++ b/_get_amort_lines.html @@ -0,0 +1,39 @@ +{{* -*- brindille -*- *}} + +{{* + lister les lignes d'amortissement liées à la ligne d'immobilisation + @param immo_doc_id : id du doc associé à l'immobilisation + @result linked_amort : lignes d'amortissement liées à la ligne d'immobilisation + @result total_amort : montant total des amortissements de l'immobilisation +*}} + +{{:assign total_amort=0}} +{{#load type="amort_link" + where="$$.immo_doc_id = :immo_doc_id" + :immo_doc_id = $immo_doc_id|intval + assign="amort_info" +}} + {{#select + line.id as line_id, + line.credit as amount, + line.label as line_label, + trans.id as trans_id, + trans.label as trans_label, + trans.date as date, + trans.id_year as year, + account.id as account_id, + account.code as account_code, + account.label as account_label + 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 = :amort_line_id + ; + :amort_line_id = $amort_line_id + assign="amort_line" + }} + {{:assign var="amort_line.amount" value=$amort_info.amount|or:$amort_line.amount}} + {{:assign var="linked_amort.%s_%d"|args:$amort_line.date:$amort_info.id value=$amort_line}} + {{:assign total_amort="%d+%d"|math:$total_amort:$amort_line.amount}} + {{/select}} +{{/load}} diff --git a/_get_credit_lines.html b/_get_credit_lines.html new file mode 100644 index 0000000..2bef7fb --- /dev/null +++ b/_get_credit_lines.html @@ -0,0 +1,31 @@ +{{* -*- brindille -*- *}} + +{{* + chercher des écritures liées à l'immo paramètre au crédit du même compte + @param immo_doc_id : id du doc associé à l'immobilisation + @param linked_immos : liste des écritures liées + @param total_credits : montant total des écritures +*}} +{{:assign linked_immos=null}} +{{:assign total_credits=0}} +{{#load type="credit_link" where="$$.immo_doc_id=:immo_doc_id" :immo_doc_id=$immo_doc_id|intval}} + {{#select + line.credit, + line.id as line_id, + trans.id as trans_id, + trans.label, + trans.date + FROM acc_transactions_lines AS line + INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id + WHERE line.id = :credit_line_id; + :credit_line_id=$credit_line_id + }} + {{:assign credit=$credit}} + {{:assign var="linked_immos." doc=$id trans_id=$trans_id credit_line_id=$line_id label=$label amount=$credit date=$date}} + {{/select}} + {{if $amount == null}} + {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} + {{else}} + {{:assign total_credits="%d+%d"|math:$total_credits:$amount}} + {{/if}} +{{/load}} diff --git a/_get_free_amort.html b/_get_free_amort.html new file mode 100644 index 0000000..a3373a4 --- /dev/null +++ b/_get_free_amort.html @@ -0,0 +1,46 @@ +{{* -*- brindille -*- *}} + +{{* + lister les amortissement non rattachés à une immo + @param filter_condition +*}} +{{#select + line.id as line_id, + line.id_transaction as trans_id, + line.credit as amount, + line.label as line_label, + trans.date as trans_date, + trans.label as trans_label, + trans.id_year as year, + account.id as account_id, + account.code as account_code, + account.label as account_label + FROM acc_transactions_lines AS line + INNER JOIN acc_accounts AS account ON account.id = line.id_account + INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction + WHERE account.code LIKE "28%" AND credit > 0 AND (NOT trans.status & 16) AND !filter_condition + ORDER BY trans.date, trans.label; + !filter_condition=$filter_condition + assign="amort_line" +}} + {{* voir s'il existe des lignes d'immo liées à cette ligne d'amortissement *}} + {{:assign amort_amount=0}} + {{:assign keep_amort=true}} + {{#load type="amort_link" + where="$$.amort_line_id = :amort_line_id" + :amort_line_id=$amort_line.line_id|intval + assign="amort_link" + }} + {{if $amort_link.amount == null || $amort_link.amount == 0}} + {{:assign amort_amount=$amort_line.amount}} + {{:assign keep_amort=false}} + {{else}} + {{:assign amort_amount="%d+%d"|math:$amort_amount:$amort_link.amount}} + {{/if}} + {{else}} + {{* pas de ligne d'immo liée à cette ligne d'amort => garder cette ligne d'amortissement *}} + {{/load}} + {{if $keep_amort && $amort_amount < $amort_line.amount}} + {{:assign var="free_amort_lines." value=$amort_line}} + {{/if}} +{{/select}} diff --git a/_get_immo_data.html b/_get_immo_data.html new file mode 100644 index 0000000..513ec0b --- /dev/null +++ b/_get_immo_data.html @@ -0,0 +1,39 @@ +{{* -*- brindille -*- *}} + +{{* + Récupérer les infos d'une immobilisation + @param immo_doc_id : id du document associé à l'immobilisation + @result info_immo : infos du document associé + @result ligne_immo : données de la base + @result message non null si une erreur s'est produite +*}} + +{{#load id=$immo_doc_id|intval assign="info_immo"}} +{{else}} + {{:assign error=true}} + {{:assign message="Immobilisation non trouvée"}} +{{/load}} + +{{if ! $error}} + {{#select + line.id as line_id, + line.debit as amount, + line.label as line_label, + line.id_project as id_project, + trans.id as trans_id, + trans.label as trans_label, + trans.date as date_achat, + account.id as account_id, + account.code as account_code, + account.label as account_label + 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 = $info_immo.line + assign="ligne_immo" + }} + {{else}} + {{:assign message="Immobilisation non trouvée"}} + {{/select}} +{{/if}} diff --git a/_immobilisations.html b/_immobilisations.html index 1546725..e78fbfd 100644 --- a/_immobilisations.html +++ b/_immobilisations.html @@ -77,10 +77,7 @@ {{:assign label_immo=$label_immo|cat:" — "|cat:$line_label}} {{/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 - *}} + {{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} {{#load type="credit_link" where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id = $immo_doc_id @@ -102,24 +99,9 @@ {{:continue}} {{/if}} - {{* chercher des lignes des écritures d'amortissement liées à la ligne d'immobilisation *}} - {{:assign amort_lines=null}} - {{:assign amort_amount=0}} - {{#load type="amort_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id = $immo_doc_id - assign="amort_link" - }} - {{if $amount == null}} - {{#select credit FROM acc_transactions_lines WHERE id = :amort_line_id; - :amort_line_id = $amort_line_id - }} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$credit}} - {{/select}} - {{else}} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$amount}} - {{/if}} - {{/load}} + {{* montant des amortissements liés à l'immobilisation *}} + {{:include file="./_get_amort_lines.html" immo_doc_id=$immo_doc_id keep="total_amort"}} + {{:assign amort_amount=$total_amort}} {{* classement par onglet *}} {{if $type_immo == "managed" && $amort_amount >= $montant_immo}}{{:continue}}{{/if}} diff --git a/_unfinished.html b/_unfinished.html index ab561a9..edbd320 100644 --- a/_unfinished.html +++ b/_unfinished.html @@ -129,7 +129,7 @@ {{* TODO cas où : - il y a (au moins) une écriture d'avoir - - il y a une écriture dui solde l'immo (montant = montant immo - avoir + - il y a une écriture qui solde l'immo (montant = montant immo - avoir *}} {{* voir s'il existe une écriture qui solde l'immobilisation (voir ci-dessus) *}} diff --git a/amortization.html b/amortization.html index 1af7148..3efc74f 100644 --- a/amortization.html +++ b/amortization.html @@ -7,62 +7,28 @@ *}} {{* données de l'immobilisation *}} -{{#load type="immo" id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} - -{{#select - line.id as immo_line_id, - line.debit as montant, - line.label as line_label, - trans.id as immo_trans_id, - trans.label as label, - trans.date as date_achat, - account.code as account_code, - account.label as account_label - 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 = $info_immo.line - assign="ligne_immo" - }} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} -{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.immo_trans_id}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} +{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}} {{:assign date_debut=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} -{{:assign label_immo=$info_immo.label|or:$ligne_immo.label}} +{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} {{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}} {{/if}} {{if $info_immo.amount != null}} - {{:assign var="ligne_immo.montant" value=$info_immo.amount}} + {{:assign var="ligne_immo.amount" value=$info_immo.amount}} {{/if}} {{if $info_immo.status == 'ignored'}} {{:error message="Cette immobilisation ne doit pas être amortie"}} {{/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 total_credits=0}} -{{#load type="credit_link" where="$$.immo_doc_id=:immo_doc_id" :immo_doc_id=$_GET.immo_doc_id|intval}} - {{if $amount == null}} - {{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id; - :credit_line_id=$credit_line_id - }} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{/select}} - {{else}} - {{:assign total_credits="%d+%d"|math:$total_credits:$amount}} - {{/if}} -{{/load}} -{{:assign solde="%d-%d"|math:$ligne_immo.montant:$total_credits}} +{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} +{{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_credits"}} +{{:assign solde="%d-%d"|math:$ligne_immo.amount:$total_credits}} {{if $info_immo.status == "amortized"}} {{:assign amort_amount=$solde}} @@ -71,71 +37,13 @@ {{:assign valeur_residuelle=$solde}} {{/if}} -{{* lister les lignes des écritures d'amortissement liées à l'immobilisation *}} -{{#load type="amort_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id = $_GET.immo_doc_id|intval -}} - {{#select - line.id as amort_line_id, - line.credit, - line.label as amort_line_label, - trans.id as amort_trans_id, - trans.label as amort_trans_label, - trans.date as amort_date, - trans.id_year as amort_year, - account.id as account_id, - account.code as account_code, - account.label as account_label - 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 = :amort_line_id - ; - :amort_line_id = $amort_line_id - assign="amort_line" - }} - {{:assign var="amort_line.amort_amount" value=$amount|or:$credit}} - {{:assign var="linked_amort.%s_%d"|args:$amort_date:$id value=$amort_line}} - {{:assign valeur_residuelle="%d-%d"|math:$valeur_residuelle:$amort_line.amort_amount}} - {{/select}} -{{/load}} +{{* lister les amortissements liés à l'immobilisation *}} +{{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_amort, total_amort"}} +{{:assign valeur_residuelle="%d-%d"|math:$valeur_residuelle:$total_amort}} {{if $valeur_residuelle > 0}} - {{* Chercher des amortissements non rattachés à une immo *}} - {{#select - line.id as amort_line_id, - line.id_transaction AS amort_trans_id, - line.credit as amort_amount - FROM acc_transactions_lines AS line - INNER JOIN acc_accounts AS account ON account.id = line.id_account - INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction - INNER JOIN acc_years AS y ON y.id = trans.id_year - WHERE account.code LIKE "28%" AND credit > 0 AND (NOT trans.status & 16) - ORDER BY trans.date, trans.label; - assign="amort" - }} - {{* voir s'il existe des lignes d'immo liées à cette ligne d'amortissement *}} - {{:assign amort_amount=0}} - {{:assign keep_amort=true}} - {{#load type="amort_link" - where="$$.amort_line_id = :amort_line_id" - :amort_line_id = $amort_line_id - assign="amort_link" - }} - {{if $amort_link.amount == null || $amort_link.amount == 0}} - {{:assign amort_amount=$amort.amort_amount}} - {{:assign keep_amort=false}} - {{else}} - {{:assign amort_amount="%d+%d"|math:$amort_amount:$amort_link.amount}} - {{/if}} - {{else}} - {{* pas de ligne d'immo liée à cette ligne d'amort => garder cette ligne d'amortissement *}} - {{/load}} - {{if $keep_amort && $amort_amount < $amort.amort_amount}} - {{:assign var="free_amort_lines." value=$amort}} - {{/if}} - {{/select}} + {{* lister les amortissements non rattachés à une immo *}} + {{:include file="./_get_free_amort.html" filter_condition="1" keep="free_amort_lines"}} {{/if}} {{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortization"}} @@ -199,7 +107,7 @@
Immobilisation
-
#{{$ligne_immo.immo_trans_id}} {{$label_immo}}
+
#{{$ligne_immo.trans_id}} {{$label_immo}}
Compte d'immobilisation
{{$ligne_immo.account_code}} — {{$ligne_immo.account_label}}
Début d'amortissement
@@ -209,7 +117,7 @@
{{$info_immo.duration}} ans
{{/if}}
Montant de l'immobilisation
-
{{"%f"|math:$ligne_immo.montant|money_currency_html:false|raw}}
+
{{"%f"|math:$ligne_immo.amount|money_currency_html:false|raw}}
{{if $total_credits > 0}}
Montant des avoirs
{{"%f"|math:$total_credits|money_currency_html:false|raw}}
@@ -237,9 +145,9 @@ N° Date + Libellé Montant Valeur nette - Libellé N° compte Compte @@ -248,24 +156,24 @@ {{#foreach from=$linked_amort|ksort item="line"}} {{* données de l'écriture *}} - {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.amort_trans_id}} - {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.amort_year}} - {{:assign solde="%f-%d"|math:$solde:$line.amort_amount}} + {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.trans_id}} + {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.year}} + {{:assign solde="%f-%d"|math:$solde:$line.amount}} - #{{$line.amort_trans_id}} - {{$line.amort_date|date_short}} - {{"%f"|math:$line.amort_amount|money_html:false|raw}} - {{"%f"|math:$solde|money_html:false|raw}} + #{{$line.trans_id}} + {{$line.date|date_short}} - {{$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.line_label != null && $line.line_label != $line.trans_label}} + — {{$line.line_label}} {{/if}} + {{"%f"|math:$line.amount|money_html:false|raw}} + {{"%f"|math:$solde|money_html:false|raw}} {{$line.account_code}} {{$line.account_label}} - {{:linkbutton label="Détacher" href="detach_amort.html?immo_doc_id=%s&amort_line_id=%s"|args:$_GET.immo_doc_id:$line.amort_line_id shape="minus"}} + {{:linkbutton label="Détacher" href="detach_amort.html?immo_doc_id=%s&amort_line_id=%s"|args:$_GET.immo_doc_id:$line.line_id shape="minus"}} {{/foreach}} diff --git a/attach_amort.html b/attach_amort.html index 4676ce3..603dade 100644 --- a/attach_amort.html +++ b/attach_amort.html @@ -8,31 +8,16 @@ *}} {{* données de l'immobilisation *}} -{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} - -{{#select - line.id_transaction as immo_trans_id, - line.debit as montant, - trans.label as trans_label, - line.label as line_label - FROM acc_transactions_lines as line - INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id - WHERE line.id = :line_id; - :line_id = $info_immo.line - assign="ligne_immo" -}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} {{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} {{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}} {{/if}} -{{:assign montant_immo=$info_immo.amount|or:$ligne_immo.montant}} +{{:assign montant_immo=$info_immo.amount|or:$ligne_immo.amount}} {{* chercher l'écriture d'amortissement *}} {{#select @@ -61,7 +46,7 @@ {{* montant de l'écriture d'amortissement déjà affecté *}} {{:assign montant_affecte=0}} -{{#load type="amort_link" assign="linked_amort." +{{#load type="amort_link" where="$$.amort_line_id = :amort_line_id" :amort_line_id = $_GET.amort_line_id|intval }} @@ -92,49 +77,14 @@ {{/if}} {{/if}} - {{* vérifier que le montant total des amortissements ne dépasse pas la valeur de l'immo *}} - {{* montant de l'immo *}} - {{:assign total_credits=0}} - {{#load - type="credit_link" - where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id = $_GET.immo_doc_id|intval - }} - {{if $amount == null}} - {{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id; - :credit_line_id=$credit_line_id - }} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{/select}} - {{else}} - {{:assign total_credits="%d+%d"|math:$total_credits:$amount}} - {{/if}} - {{/load}} + {{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} + {{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_credits"}} {{:assign montant_immo="%d-%d"|math:$montant_immo:$total_credits}} {{* montant des amortissements *}} - {{:assign total_amort=0}} - {{#load - type="amort_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id=$_GET.immo_doc_id|intval - }} - {{if $amount == null || $amount == 0}} - {{#select - line.credit - 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 = :amort_line_id - ; - :amort_line_id = $amort_line_id - }} - {{:assign total_amort="%d+%d"|math:$total_amort:$credit}} - {{/select}} - {{else}} - {{:assign total_amort="%d+%d"|math:$total_amort:$amount}} - {{/if}} - {{/load}} + {{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_amort"}} + {{* vérifier que le montant total des amortissements ne dépasse pas la valeur de l'immo *}} {{:assign vnc="%d-%d"|math:$montant_immo:$total_amort}} {{:assign total_amort="%d+%d"|math:$total_amort:$montant_amort}} {{if $total_amort > $montant_immo}} @@ -151,7 +101,7 @@ END as linked_id FROM acc_transactions_links as links WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; - :immo_trans_id = $ligne_immo.immo_trans_id + :immo_trans_id = $ligne_immo.trans_id }} {{:assign var="linked_transactions." value=$linked_id}} {{/select}} @@ -160,7 +110,7 @@ {{:assign var="linked_transactions." value=$amort_line.trans_id}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.immo_trans_id + path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id assign="result" assign_code="result_code" transactions=$linked_transactions diff --git a/attach_immo.html b/attach_immo.html index a824041..262b709 100644 --- a/attach_immo.html +++ b/attach_immo.html @@ -4,29 +4,15 @@ {{* Enregistrer la liaison entre une ligne d'immobilisation et une ligne d'écriture au crédit du compte de l'immobilisation - @param credit_line_id : ligne d'écriture au crédit du compte de l'immobilisation @param immo_doc_id : numéro du doc d'immo + @param credit_line_id : ligne d'écriture au crédit du compte de l'immobilisation *}} -{{* chercher l'écriture d'immobilisation *}} -{{#load id=$_GET.immo_doc_id|intval assign="doc_immo"}} -{{else}} - {{:error message="Immobilisation non gérée ; vous devez d'abord renseigner ses informations"}} -{{/load}} -{{#select - line.id as immo_line_id, - line.id_transaction as immo_trans_id, - line.label as line_label, - trans.label as trans_label - FROM acc_transactions_lines as line - INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id - WHERE line.id = :line_id; - :line_id = $doc_immo.line - assign="ligne_immo" -}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} +{{* données de l'immobilisation *}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} {{:assign label_immo=$doc_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} @@ -35,7 +21,7 @@ {{* chercher l'écriture au crédit du compte d'immobilisation *}} {{#select - line.id_transaction as credit_trans_id, + line.id_transaction as trans_id, line.credit as amount, trans.label as trans_label, line.label as line_label @@ -48,7 +34,7 @@ {{else}} {{:error message="Impossible de trouver l'écriture au crédit du compte de l'immobilisation de la ligne « %s »"|args:$ligne_immo.trans_label}} {{/select}} -{{:assign credit_trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$credit_line.credit_trans_id}} +{{:assign credit_trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$credit_line.trans_id}} {{* montant de l'écriture de crédit déjà affecté *}} {{:assign montant_affecte=0}} @@ -90,18 +76,18 @@ END as linked_id FROM acc_transactions_links as links WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; - :immo_trans_id = $ligne_immo.immo_trans_id + :immo_trans_id = $ligne_immo.trans_id }} {{:assign var="linked_transactions." value=$linked_id}} {{/select}} {{* ajouter la nouvelle liaison *}} -{{:assign var="linked_transactions." value=$credit_line.credit_trans_id}} +{{:assign var="linked_transactions." value=$credit_line.trans_id}} {{* Enregistrer les liaisons *}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.immo_trans_id + path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id assign="result" assign_code="result_code" transactions=$linked_transactions @@ -139,7 +125,7 @@
Immobilisation
{{$label_immo}}
Écriture au crédit du compte d'immobilisation
-
#{{$credit_line.credit_trans_id}} {{$credit_line.trans_label}}{{if $credit_line.line_label != null && $credit_line.line_label != $credit_line.trans_label}} — {{$credit_line.line_label}}{{/if}}
+
#{{$credit_line.trans_id}} {{$credit_line.trans_label}}{{if $credit_line.line_label != null && $credit_line.line_label != $credit_line.trans_label}} — {{$credit_line.line_label}}{{/if}}
Montant de l'écriture
{{$credit_line.amount|money_currency_html:false|raw}}
Montant déjà affecté
diff --git a/balance_sheet_exit.html b/balance_sheet_exit.html index 227adf4..2b4cf6b 100644 --- a/balance_sheet_exit.html +++ b/balance_sheet_exit.html @@ -5,114 +5,49 @@ @param immo_doc_id : id du doc associé à l'immo *}} -{{* Infos de l'immobilisation *}} -{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} - -{{#select - line.debit as montant, - trans.id AS trans_id, - trans.date as date_achat, - 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 = $info_immo.line - assign="ligne_immo" -}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} - -{{:assign date_debut=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} -{{if $info_immo.amount != null}} - {{:assign var="ligne_immo.montant" value=$info_immo.amount}} +{{* données de l'immobilisation *}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} {{/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 total_credits=0}} -{{#load - type="credit_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id = $info_immo.id - assign="credit_link" -}} - {{if $amount == null}} - {{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id; - :credit_line_id=$credit_line_id - }} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{/select}} - {{else}} - {{:assign total_credits="%d+%d"|math:$total_credits:$amount}} - {{/if}} -{{else}} - {{* - TODO : à garder ? - pas de doc => voir liaison écritures - *}} - {{#select - CASE links.id_related = :immo_trans_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_trans_id AND line.credit > 0 AND acc.code = :account; - :immo_trans_id=$ligne_immo.trans_id - :account=$ligne_immo.account_code - }} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{/select}} -{{/load}} -{{:assign var="ligne_immo.montant" value="%d-%d"|math:$ligne_immo.montant:$total_credits}} +{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}} +{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} + {{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}} +{{/if}} -{{:assign total_amort=0}} -{{#load type="amort_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id = $_GET.immo_doc_id|intval -}} - {{#select - line.credit, - trans.date as amort_date - FROM acc_transactions_lines AS line - INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id - WHERE line.id = :amort_line_id - ; - :amort_line_id = $amort_line_id - assign="amort_line" - }} - {{:assign amort_amount=$amount|or:$credit}} - {{:assign total_amort="%d+%d"|math:$total_amort:$amort_amount}} - {{:assign var="linked_amort.%s_%d"|args:$amort_date:$id value=$amort_line}} - {{/select}} -{{/load}} +{{:assign date_achat=$info_immo.date_achat|or:$ligne_immo.date_achat}} +{{if $info_immo.date_mes != null && $info_immo.date_mes != $date_achat}} + {{:assign date_mes=$info_immo.date_mes}} +{{/if}} +{{:assign date_debut=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} + +{{if $info_immo.amount != null}} + {{:assign var="ligne_immo.amount" value=$info_immo.amount}} +{{/if}} + +{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} +{{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_credits"}} +{{:assign var="ligne_immo.amount" value="%d-%d"|math:$ligne_immo.amount:$total_credits}} + +{{* lister les amortissements liés à l'immobilisation *}} +{{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_amort, total_amort"}} {{:assign amort_number=$linked_amort|count}} {{#foreach from=$linked_amort|ksort item="line"}} {{if $first_amort_date == null}} - {{:assign first_amort_date=$line.amort_date}} + {{:assign first_amort_date=$line.date}} {{/if}} {{if $last_amort_date == null}} - {{:assign last_amort_date=$line.amort_date}} - {{elseif $line.amort_date > $last_amort_date}} - {{:assign last_amort_date=$line.amort_date}} + {{:assign last_amort_date=$line.date}} + {{elseif $line.date > $last_amort_date}} + {{:assign last_amort_date=$line.date}} {{/if}} {{/foreach}} {{if $total_amort == 0}} {{if $info_immo.status == "amortized"}} - {{:assign total_amort=$ligne_immo.montant}} + {{:assign total_amort=$ligne_immo.amount}} {{/if}} {{else}} {{:assign date_debut=$last_amort_date}} @@ -120,7 +55,7 @@ {{:assign ts_debut=$date_debut|strtotime}} {{:assign ts_debut="%d+(60*60*24)"|math:$ts_debut}} {{:assign date_debut=$ts_debut|date:"Y-m-d"}} -{{:assign valeur_nette="%f-%f"|math:$ligne_immo.montant:$total_amort}} +{{:assign valeur_nette="%f-%f"|math:$ligne_immo.amount:$total_amort}} {{* lister les exercices ouverts dont la date de fin est postérieure à la date du dernier amortissment @@ -205,19 +140,19 @@ {{:form_errors}} {{* formulaire de sortie du bilan *}} -

Sortir l'immobilisation « {{$ligne_immo.label}} » du bilan

+

Sortir l'immobilisation « {{$label_immo}} » du bilan

Données de l'imobilisation
Montant
-
{{$ligne_immo.montant|money_currency_html:false|raw}}
+
{{$ligne_immo.amount|money_currency_html:false|raw}}
Date d'acquisition
-
{{$info_immo.date_achat|or:$ligne_immo.date_achat|date_short}}
- {{if $info_immo.date_mes != null && $info_immo.date_mes != $ligne_immo.date_achat}} +
{{$date_achat|date_short}} + {{if $date_mes != null}}
Date de mise en service
-
{{$info_immo.date_mes|date_short}}
+
{{$date_mes|date_short}}
{{/if}} {{if $info_immo.duration != null}}
Durée de l'amortissement
diff --git a/compute_exit_data.html b/compute_exit_data.html index c8c50af..7caf90b 100644 --- a/compute_exit_data.html +++ b/compute_exit_data.html @@ -10,78 +10,35 @@ @param exit_date : date de sortie de l'immobilisation *}} {{* TODO *}} -{{* Infos de l'immobilisation *}} -{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} +{{* données de l'immobilisation *}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} -{{#select - line.debit as montant, - trans.id AS trans_id, - trans.date as date_achat, - 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 = $info_immo.line - assign="ligne_immo" -}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} +{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}} +{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} + {{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}} +{{/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 total_credits=0}} -{{#load - type="credit_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id = $info_immo.id - assign="credit_link" -}} - {{if $amount == null}} - {{#select credit FROM acc_transactions_lines WHERE id = :credit_line_id; - :credit_line_id=$credit_line_id - }} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{/select}} - {{else}} - {{:assign total_credits="%d+%d"|math:$total_credits:$amount}} - {{/if}} -{{else}} - {{* - TODO : à garder ? - pas de doc => voir liaison écritures - *}} - {{#select - CASE links.id_related = :immo_trans_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_trans_id AND line.credit > 0 AND acc.code = :account; - :immo_trans_id=$ligne_immo.trans_id - :account=$ligne_immo.account_code - }} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{/select}} -{{/load}} -{{:assign var="ligne_immo.montant" value="%d-%d"|math:$ligne_immo.montant:$total_credits}} -{{:assign valeur_nette="%f-%f"|math:$ligne_immo.montant:$_GET.amort_amount}} +{{:assign date_achat=$info_immo.date_achat|or:$ligne_immo.date_achat}} +{{if $info_immo.date_mes != null && $info_immo.date_mes != $date_achat}} + {{:assign date_mes=$info_immo.date_mes}} +{{/if}} + +{{if $info_immo.amount != null}} + {{:assign var="ligne_immo.amount" value=$info_immo.amount}} +{{/if}} + +{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} +{{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_credits"}} +{{:assign var="ligne_immo.amount" value="%d-%d"|math:$ligne_immo.amount:$total_credits}} +{{:assign valeur_nette="%f-%f"|math:$ligne_immo.amount:$_GET.amort_amount}} {{:assign amort_comp=0}} {{* amortissement complémentaire jqà date sortie *}} {{if $valeur_nette > 0}} {{:assign nbjours="1+(%d-%d)/(60*60*24)"|math:$_GET.exit_date:$_GET.date_debut}} - {{:assign annuite="%f/%f"|math:$ligne_immo.montant:$info_immo.duration}} + {{:assign annuite="%f/%f"|math:$ligne_immo.amount:$info_immo.duration}} {{:assign amort_comp="round(%f/365*%f, 0)"|math:$annuite:$nbjours}} {{:assign amort_comp="min(%f, %f)"|math:$valeur_nette:$amort_comp}} {{/if}} @@ -106,19 +63,19 @@ {{:form_errors}} -

Sortir l'immobilisation « {{$ligne_immo.label}} » du bilan

+

Sortir l'immobilisation « {{$label_immo}} » du bilan

Données de l'imobilisation
Montant
-
{{$ligne_immo.montant|money_currency_html:false|raw}}
+
{{$ligne_immo.amount|money_currency_html:false|raw}}
Date d'acquisition
-
{{$ligne_immo.date_achat|date_short}}
- {{if $info_immo.date_mes != null && $info_immo.date_mes != $ligne_immo.date_achat}} +
{{$date_achat|date_short}}
+ {{if $date_mes != null}}
Date de mise en service
-
{{$info_immo.date_mes|date_short}}
+
{{$date_mes|date_short}}
{{/if}}
Durée de l'amortissement
{{$info_immo.duration}} ans
diff --git a/delete_infos.html b/delete_infos.html index 5e5d2a0..6ec1875 100644 --- a/delete_infos.html +++ b/delete_infos.html @@ -5,30 +5,12 @@ @param immo_doc_id *}} -{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} -{{#select - trans.id as immo_trans_id, - trans.label as trans_label, - trans.date as date_achat, - line.debit as montant, - line.label as line_label, - acc.code, - acc.label as account_label - FROM acc_transactions_lines AS line - INNER join acc_transactions AS trans ON line.id_transaction = trans.id - INNER JOIN acc_accounts AS acc ON line.id_account = acc.id - WHERE line.id = :line_id; - :line_id = $info_immo.line - assign="ligne_immo" - }} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} -{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.immo_trans_id}} +{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}} {{:assign immo_label=$info_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $immo_label}} {{:assign immo_label=$immo_label|cat::" — "|cat:$ligne_immo.line_label}} @@ -49,7 +31,6 @@ {{:assign var="linked_trans." value=$id}} {{/select}} - {{:debug linked_trans=$linked_trans}} {{if $linked_trans != null}} {{* chercher et supprimer les écritures liées *}} {{#select @@ -62,7 +43,7 @@ ON (links.id_transaction = trans.id OR links.id_related = trans.id) WHERE trans.id = :immo_trans_id ; - :immo_trans_id=$ligne_immo.immo_trans_id + :immo_trans_id=$ligne_immo.trans_id }} {{if ! $linked_trans|has:$linked_id}} {{:assign var="linked_transactions." value=$linked_id}} @@ -72,7 +53,7 @@ {{* enregistrer les liaisons restantes *}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.immo_trans_id + path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id assign="result" assign_code="result_code" transactions=$linked_transactions @@ -92,8 +73,8 @@ {{:admin_header title="Supprimer" current="module_amortization"}} {{:form_errors}} {{:delete_form - legend="Immobilisation « #%s %s »"|args:$ligne_immo.immo_trans_id:$immo_label - warning="Supprimer les paramètres de l'immobilisation « #%s %s » ?"|args:$ligne_immo.immo_trans_id:$immo_label + legend="Immobilisation « #%s %s »"|args:$ligne_immo.trans_id:$immo_label + warning="Supprimer les paramètres de l'immobilisation « #%s %s » ?"|args:$ligne_immo.trans_id:$immo_label info="L'écriture d'immobilisation ne sera pas supprimée ; les nouveaux paramètres pourront être saisis depuis l'onglet « À classer »" }} diff --git a/detach_amort.html b/detach_amort.html index e2b7b85..b2e65c8 100644 --- a/detach_amort.html +++ b/detach_amort.html @@ -8,22 +8,10 @@ *}} {{* données de l'immobilisation *}} -{{#load id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} - -{{* écriture d'immobilisation *}} -{{#select - id_transaction - FROM acc_transactions_lines - WHERE id = :line_id; - :line_id = $info_immo.line -}} - {{:assign immo_trans_id=$id_transaction}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} {{* écriture d'amortissement *}} {{#select @@ -48,7 +36,7 @@ END as linked_id FROM acc_transactions_links as links WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; - :immo_trans_id = $immo_trans_id + :immo_trans_id = $ligne_immo.trans_id }} {{if $linked_id != $amort_id}} {{:assign var="linked_transactions." value=$linked_id}} @@ -58,7 +46,7 @@ {{* Enregistrer les liaisons *}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$immo_trans_id + path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id assign="result" assign_code="result_code" transactions=$linked_transactions diff --git a/detach_immo.html b/detach_immo.html index 7a67513..4475615 100644 --- a/detach_immo.html +++ b/detach_immo.html @@ -8,21 +8,10 @@ *}} {{* données de l'immobilisation *}} -{{#load type="immo" id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} - -{{#select - id_transaction - FROM acc_transactions_lines - WHERE id = :line_id; - :line_id = $info_immo.line -}} - {{:assign immo_trans_id=$id_transaction}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} {{* chercher l'écriture au crédit *}} {{#select @@ -47,7 +36,7 @@ END as linked_id FROM acc_transactions_links as links WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; - :immo_trans_id = $immo_trans_id + :immo_trans_id = $ligne_immo.trans_id }} {{if $linked_id != $credit_id}} {{:assign var="linked_transactions." value=$linked_id}} @@ -57,7 +46,7 @@ {{* Enregistrer les liaisons *}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$immo_trans_id + path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id assign="result" assign_code="result_code" transactions=$linked_transactions diff --git a/details_immo.html b/details_immo.html index 4d060dc..0896717 100644 --- a/details_immo.html +++ b/details_immo.html @@ -9,84 +9,25 @@ *}} {{* données de l'immobilisation *}} -{{#load type="immo" id=$_GET.immo_doc_id|intval assign="info_immo"}} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/load}} +{{:include file="_get_immo_data.html" immo_doc_id=$_GET.immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} -{{#select - trans.id as immo_trans_id, - trans.label as label, - trans.date as date_achat, - line.id as immo_line_id, - line.debit as montant, - line.label as line_label, - account.code as account_code, - account.label as account_label - 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 = $info_immo.line - assign="ligne_immo" - }} -{{else}} - {{:error message="Immobilisation non trouvée"}} -{{/select}} - -{{:assign var="info_immo.amount" value=$info_immo.amount|or:$ligne_immo.montant}} +{{:assign var="info_immo.amount" value=$info_immo.amount|or:$ligne_immo.amount}} {{:assign var="info_immo.date_achat" value=$info_immo.date_achat|or:$ligne_immo.date_achat}} {{:assign var="info_immo.date_mes" value=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} -{{:assign var="info_immo.label" value=$info_immo.label|or:$ligne_immo.label}} +{{:assign var="info_immo.label" value=$info_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $info_immo.label}} {{:assign var="info_immo.label" value=$info_immo.label|cat:" — "|cat:$ligne_immo.line_label}} {{/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 linked_immos=null}} -{{:assign total_credits=0}} -{{#load type="credit_link" where="$$.immo_doc_id=:immo_doc_id" :immo_doc_id=$_GET.immo_doc_id|intval}} - {{#select - line.credit, - line.id as line_id, - trans.id as trans_id, - trans.label, - trans.date - FROM acc_transactions_lines AS line - INNER JOIN acc_transactions AS trans ON line.id_transaction = trans.id - WHERE line.id = :credit_line_id; - :credit_line_id=$credit_line_id - }} - {{:assign credit=$credit}} - {{:assign var="linked_immos." trans_id=$trans_id credit_line_id=$line_id label=$label amount=$credit date=$date}} - {{/select}} - {{if $amount == null}} - {{:assign total_credits="%d+%d"|math:$total_credits:$credit}} - {{else}} - {{:assign total_credits="%d+%d"|math:$total_credits:$amount}} - {{/if}} -{{/load}} +{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} +{{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_immos, total_credits"}} {{:assign solde="%d-%d"|math:$info_immo.amount:$total_credits}} -{{:assign total_amort=0}} -{{* lister les docs d'amortissement liées à la ligne d'immobilisation *}} -{{#load type="amort_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id=$_GET.immo_doc_id|intval -}} - {{if $amount != null}} - {{:assign total_amort="%d+%d"|math:$total_amort:$amount}} - {{else}} - {{#select credit FROM acc_transactions_lines WHERE id = :amort_line_id; - :amort_line_id=$amort_line_id - }} - {{:assign total_amort="%d+%d"|math:$total_amort:$credit}} - {{/select}} - {{/if}} -{{/load}} +{{* lister les amortissements liés à l'immobilisation *}} +{{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="total_amort"}} {{:admin_header title="Détails de l'immobilisation" custom_css="./style.css" current="module_amortization"}} @@ -102,7 +43,7 @@ {{:include file="_nav.html" current="index" subcurrent="details" subsubcurrent=$subsubcurrent}} {{/if}} *}} -{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.immo_trans_id}} +{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}