diff --git a/README.md b/README.md index 578af08..e771e69 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,15 @@ 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 +- lister les amortissements d'une immobilisation : + - amortissements déjà enregistrés + - amortissements à venir +- associer une écriture d'amortissement à 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 - +- activer le module qui est maintenant présent dans la liste des extensions inactives diff --git a/_archives.html b/_archives.html index a4356d6..8a8f8ad 100644 --- a/_archives.html +++ b/_archives.html @@ -153,7 +153,7 @@ {{$account_code}} {{$account_label}} - {{:linkbutton label="Modifier" href="exit_step1.html?immo_doc_id=%s"|args:$info_immo.id shape="edit"}} + {{:linkbutton label="Modifier" href="exit_step3.html?immo_doc_id=%s"|args:$info_immo.id shape="edit"}} {{/select}} @@ -172,6 +172,7 @@ {{$value|money_html:false|raw}} + {{/foreach}} @@ -183,6 +184,7 @@ {{$total_immo|money_html:false|raw}} + {{/if}} @@ -199,6 +201,7 @@ {{$value|money_html:false|raw}} + {{/foreach}} @@ -210,6 +213,7 @@ {{$total_cessions|money_html:false|raw}} + {{/if}} diff --git a/_common_attach.html b/_common_attach.html deleted file mode 100644 index 728ee1f..0000000 --- a/_common_attach.html +++ /dev/null @@ -1,37 +0,0 @@ -{{* -*- 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 8c84736..b4e80d0 100644 --- a/_common_detach.html +++ b/_common_detach.html @@ -1,13 +1,12 @@ {{* -*- brindille -*- *}} {{* - Supprimer l'association entre une ligne d'immo et une autre ligne (amort, credit, cession, sortie) + Supprimer l'association entre deux lignes @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="info_immo, ligne_immo, message"}} +{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="ligne_immo, message"}} {{if $message != null}} {{:error message=$message}} {{/if}} diff --git a/_get_amort_lines.html b/_get_amort_lines.html index dd115e8..a985fa2 100644 --- a/_get_amort_lines.html +++ b/_get_amort_lines.html @@ -5,7 +5,6 @@ @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}} @@ -34,10 +33,6 @@ 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 8a2649b..a3373a4 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 credit > 0 AND (NOT trans.status & 16) AND !filter_condition + 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" @@ -41,7 +41,6 @@ {{* 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 ab4d4d6..e78fbfd 100644 --- a/_immobilisations.html +++ b/_immobilisations.html @@ -68,9 +68,6 @@ !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}} @@ -96,8 +93,9 @@ {{/if}} {{/load}} + {{* Immobilisation soldée ? *}} + {{* TODO ¿ marquer archivée ? *}} {{if $montant_immo == 0}} - {{* Immobilisation soldée *}} {{:continue}} {{/if}} @@ -123,9 +121,17 @@ {{"%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="Détails" - href="amortization.html?immo_doc_id=%s&type_immo=%s"|args:$immo_doc_id:$type_immo shape="eye" + label="Amortissements" + href="amortization.html?immo_doc_id=%s&type_immo=%s"|args:$immo_doc_id:$type_immo shape="table" }} diff --git a/_immobilisations_autres.html b/_immobilisations_autres.html index 7a4b04c..bacef59 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; + ORDER BY trans.date DESC; !columns=$columns !table_join=$table_join !table=$module.table @@ -114,6 +114,7 @@ {{: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*}}
@@ -147,7 +148,7 @@ {{else}} {{* vérifier si le libellé aurait pu être filtré *}} {{#foreach from=$module.config.filters item="filter"}} - {{if $trans_label|strpos:$filter !== false}} + {{if $filter|strpos:$trans_label !== false}} {{:assign status="ignored"}} {{/if}} {{/foreach}} diff --git a/_nav.html b/_nav.html index c81e1f3..fac14e4 100644 --- a/_nav.html +++ b/_nav.html @@ -1,31 +1,55 @@ {{* -*- brindille -*- *}}
diff --git a/aide.html b/aide.html new file mode 100644 index 0000000..e6855d7 --- /dev/null +++ b/aide.html @@ -0,0 +1,163 @@ +{{* -*- brindille -*- *}} + +{{:admin_header title="Aide" custom_css="./style.css" current="module_amortization"}} + +{{* barre de navigation *}} +{{:include file="_nav.html" current="aide"}} + +

+ Ce module gère l'amortissement linéaire des immobilisations. +

+ +

Immobilisations

+Elles sont classées dans plusieurs onglets : + + + +

Ajouter une immobilisation

+ +
+

+ Il faut renseigner les informations de l'immobilisation. + On peut indiquer qu'il s'agit d'une immobilisation qui ne doit + pas être amortie ; dans le cas contraire, il faut renseigner + les différents paramètres de l'immobilisation +

+ +
+ +

Amortissements

+ +
+

+ Le calcul de l'amortissement se fait par la méthode linéaire. +

+

+ La date de début du calcul est par défaut la date d'achat ; si la + date de mise en service est postérieure à la date d'achat, c'est + celle-ci qui est prise en compte. +

+
+ +

Liste des amortissements

+ +
+ On trouve ici de une à trois listes, selon la situation : + +
+ +

Créer une écriture d'amortissement

+ +
+

+ Il faut renseigner les différents paramètres de l'amortissement : +

+ +

+
+ +

Remarques

+ + + + +

+ Dans le deuxième cas, il faut cliquer sur le bouton « Ajouter + infos » puis : +

+

+

+ Tant qu'une immobilisation ne possède pas d'amortissement, il est + possible de modifier ses informations à l'aide du bouton « + Modifier infos ». +

+ diff --git a/amortization.html b/amortization.html index 085edd3..34e01b1 100644 --- a/amortization.html +++ b/amortization.html @@ -29,36 +29,41 @@ {{* 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:$ligne_immo.amount:$total_credits}} -{{:assign valeur_residuelle=$solde}} + +{{if $info_immo.status == "amortized"}} + {{:assign amort_amount=$solde}} + {{:assign valeur_residuelle=0}} +{{else}} + {{:assign valeur_residuelle=$solde}} +{{/if}} {{* 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, created_amort"}} +{{: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}} {{* lister les amortissements non attachés à une immo *}} - {{:assign account_filter="28%"|quote_sql}} - {{:assign filter_condition="account.code LIKE "|cat:$account_filter}} - {{:include file="./_get_free_amort.html" filter_condition=$filter_condition keep="free_amort_lines"}} + {{:include file="./_get_free_amort.html" filter_condition="1" keep="free_amort_lines"}} {{/if}} -{{:admin_header title="Détails de l'immobilisation" custom_css="./style.css" current="module_amortization"}} +{{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortization"}} {{* barre de navigation *}} -{{if $_GET.type_immo == "amortized" && $valeur_residuelle == 0}} - {{:assign current="amortized"}} +{{if $_GET.type_immo == "amortized" || $valeur_residuelle== 0 }} + {{:assign subcurrent="amortized"}} {{elseif $_GET.type_immo == "archived"}} - {{:assign current="archived"}} -{{elseif $_GET.type_immo == null || $_GET.type_immo == "managed" || $valeur_residuelle > 0}} - {{:assign current="managed"}} + {{:assign subcurrent="archived"}} +{{elseif $_GET.type_immo == null || $_GET.type_immo == "managed"}} + {{:assign subcurrent="managed"}} {{else}} - {{:assign current="other"}} + {{:assign subcurrent="other"}} {{/if}} {{:include file="_nav.html" - current="%s"|args:$current - subcurrent="details" + current="index" + subcurrent="%s"|args:$subcurrent + subsubcurrent="amortization" type_immo=$_GET.type_immo autres_amort=$free_amort_lines }} @@ -74,8 +79,6 @@ {{:assign msg="Détachement avoir affectué"}} {{elseif $_GET.msg|match:"amortissement"}} {{:assign msg="Amortissement enregistré"}} - {{elseif $_GET.msg|match:"modif"}} - {{:assign msg="Modifications enregistrées"}} {{/if}}

{{$msg}}

{{elseif $_GET.err}} @@ -105,16 +108,52 @@
-

Immobilisation

-