diff --git a/README.md b/README.md
index e771e69..578af08 100644
--- a/README.md
+++ b/README.md
@@ -4,15 +4,14 @@ Ce module permet de gérer les écritures d'amortissements pour les immobilisati
- lister les immobilisations
- ajouter une nouvelle immobilisation
-- lister les amortissements d'une immobilisation :
- - amortissements déjà enregistrés
- - amortissements à venir
-- associer une écriture d'amortissement à une immobilisation
+- lister les amortissements d'une immobilisation
- enregistrer un nouvel amortissement
+- incorporer d'anciennes immobilisations et leurs amortisements
## Installation
- télécharger [l'archive zip](https://link.infini.fr/amortissement)
- cliquer « Configuration » puis « Extensions »
- en bas de la page, cliquer « Importer un module »
- sélectionner l'archive téléchargée ci-dessus
-- activer le module qui est maintenant présent dans la liste des extensions inactives
+- activer le module
+
diff --git a/_archives.html b/_archives.html
index 8a8f8ad..a4356d6 100644
--- a/_archives.html
+++ b/_archives.html
@@ -153,7 +153,7 @@
{{$account_code}} |
{{$account_label}} |
- {{:linkbutton label="Modifier" href="exit_step3.html?immo_doc_id=%s"|args:$info_immo.id shape="edit"}}
+ {{:linkbutton label="Modifier" href="exit_step1.html?immo_doc_id=%s"|args:$info_immo.id shape="edit"}}
|
{{/select}}
@@ -172,7 +172,6 @@
{{$value|money_html:false|raw}} |
|
|
- |
|
{{/foreach}}
@@ -184,7 +183,6 @@
{{$total_immo|money_html:false|raw}} |
|
|
- |
|
{{/if}}
@@ -201,7 +199,6 @@
{{$value|money_html:false|raw}} |
|
|
- |
|
{{/foreach}}
@@ -213,7 +210,6 @@
{{$total_cessions|money_html:false|raw}} |
|
|
- |
|
{{/if}}
diff --git a/_common_attach.html b/_common_attach.html
new file mode 100644
index 0000000..728ee1f
--- /dev/null
+++ b/_common_attach.html
@@ -0,0 +1,37 @@
+{{* -*- brindille -*- *}}
+
+{{*
+ Enregistrer l'association entre une ligne d'immo et une autre ligne (amort, credit, cession, sortie)
+ @param immo_doc_id : id du doc associé à la ligne d'immobilisation
+ @param trans_id : id de l'écriture à attacher
+*}}
+{{* données de l'immobilisation *}}
+{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="ligne_immo, message"}}
+{{if $message != null}}
+ {{:error message=$message}}
+{{/if}}
+
+{{* chercher les liaisons de l'écriture d'immobilisation *}}
+{{#select
+ CASE links.id_related = :immo_trans_id
+ WHEN true THEN links.id_transaction
+ WHEN false THEN links.id_related
+ 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.trans_id
+}}
+ {{:assign var="linked_transactions." value=$linked_id}}
+{{/select}}
+
+{{* ajouter la nouvelle liaison *}}
+{{:assign var="linked_transactions." value=$trans_id}}
+{{* Enregistrer les liaisons *}}
+{{:api
+ method="POST"
+ path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id
+ assign="result"
+ assign_code="result_code"
+ transactions=$linked_transactions
+}}
+
diff --git a/_common_detach.html b/_common_detach.html
index b4e80d0..8c84736 100644
--- a/_common_detach.html
+++ b/_common_detach.html
@@ -1,12 +1,13 @@
{{* -*- brindille -*- *}}
{{*
- Supprimer l'association entre deux lignes
+ Supprimer l'association entre une ligne d'immo et une autre ligne (amort, credit, cession, sortie)
@param immo_doc_id : id du doc associé à la ligne d'immobilisation
@param line_id : id de la ligne à détacher
*}}
+
{{* données de l'immobilisation *}}
-{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="ligne_immo, message"}}
+{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="info_immo, ligne_immo, message"}}
{{if $message != null}}
{{:error message=$message}}
{{/if}}
diff --git a/_get_amort_lines.html b/_get_amort_lines.html
index a985fa2..dd115e8 100644
--- a/_get_amort_lines.html
+++ b/_get_amort_lines.html
@@ -5,6 +5,7 @@
@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
+ @result created_amort : vrai s'il y a au moins un amortissement créé par le module dans la liste
*}}
{{:assign total_amort=0}}
@@ -33,6 +34,10 @@
assign="amort_line"
}}
{{:assign var="amort_line.amount" value=$amort_info.amount|or:$amort_line.amount}}
+ {{if $amort_info.created}}
+ {{:assign var="amort_line.created" value=true}}
+ {{:assign var="created_amort" value=true}}
+ {{/if}}
{{: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}}
diff --git a/_get_free_amort.html b/_get_free_amort.html
index a3373a4..8a2649b 100644
--- a/_get_free_amort.html
+++ b/_get_free_amort.html
@@ -18,7 +18,7 @@
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
+ WHERE credit > 0 AND (NOT trans.status & 16) AND !filter_condition
ORDER BY trans.date, trans.label;
!filter_condition=$filter_condition
assign="amort_line"
@@ -41,6 +41,7 @@
{{* 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="amort_line.amount" value="%d-%d"|math:$amort_line.amount:$amort_amount}}
{{:assign var="free_amort_lines." value=$amort_line}}
{{/if}}
{{/select}}
diff --git a/_immobilisations.html b/_immobilisations.html
index e78fbfd..ab4d4d6 100644
--- a/_immobilisations.html
+++ b/_immobilisations.html
@@ -68,6 +68,9 @@
!table=$module.table
!condition=$condition
}}
+ {{if $status != "managed" && $status != "amortized"}}
+ {{:continue}}
+ {{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$immo_trans_id}}
{{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$account_id:$trans_id_year}}
{{:assign montant_immo=$doc_amount|or:$debit}}
@@ -93,9 +96,8 @@
{{/if}}
{{/load}}
- {{* Immobilisation soldée ? *}}
- {{* TODO ¿ marquer archivée ? *}}
{{if $montant_immo == 0}}
+ {{* Immobilisation soldée *}}
{{:continue}}
{{/if}}
@@ -121,17 +123,9 @@
{{"%d-%d"|math:$montant_immo:$amort_amount|money_html:false|raw}} |
{{$account_code}} |
- {{*if $amort_amount == 0*}}
- {{:linkbutton
- label="Détails"
- href="details_immo.html?immo_doc_id=%s"|args:$immo_doc_id
- shape="eye"
- }}
- {{* target="_dialog"*}}
- {{*/if*}}
{{:linkbutton
- label="Amortissements"
- href="amortization.html?immo_doc_id=%s&type_immo=%s"|args:$immo_doc_id:$type_immo shape="table"
+ label="Détails"
+ href="amortization.html?immo_doc_id=%s&type_immo=%s"|args:$immo_doc_id:$type_immo shape="eye"
}}
|
diff --git a/_immobilisations_autres.html b/_immobilisations_autres.html
index bacef59..7a4b04c 100644
--- a/_immobilisations_autres.html
+++ b/_immobilisations_autres.html
@@ -86,7 +86,7 @@
!table_join
WHERE !condition
GROUP BY immo_line_id
- ORDER BY trans.date DESC;
+ ORDER BY trans.date;
!columns=$columns
!table_join=$table_join
!table=$module.table
@@ -114,7 +114,6 @@
{{:assign var="immo_lines." value=$immo_line}}
{{/select}}
-{{*:debug lines=$immo_lines nb_lines=$immo_lines|count nb_null=$nb_null nb_managed=$nb_managed nb_ignored=$nb_ignored nb_other=$nb_other unhide=$unhide*}}