Compare commits

...

35 commits

Author SHA1 Message Date
Jean-Christophe Engel
9e620c3efb Simplification explications aide 2026-07-11 18:17:33 +02:00
Jean-Christophe Engel
8810498843 Amélioration détection erreur classement sortie bilan 2026-07-11 18:16:22 +02:00
Jean-Christophe Engel
18e97956fe Amélioration affichage libellé 2026-07-11 11:28:17 +02:00
Jean-Christophe Engel
1439f0333d Correction statut lignes ignorées 2026-07-10 10:27:54 +02:00
Jean-Christophe Engel
a256e90d09 Ajout liens vers immobilisation absents 2026-07-10 09:47:14 +02:00
Jean-Christophe Engel
2b6ac366ec Ne pas lister amortissements antérieurs mise en service immo 2026-07-08 16:36:43 +02:00
Jean-Christophe Engel
64d4788e76 Avoirs : correction date et libellé ; sélection écritures postérieures date immo 2026-07-08 16:21:52 +02:00
Jean-Christophe Engel
3c29faea6c Correction vérifications montant avoir saisi 2026-07-08 15:41:18 +02:00
Jean-Christophe Engel
6ffdfe1e6f Correction date achat fausse 2026-07-07 16:27:51 +02:00
Jean-Christophe Engel
afb88b8a01 Amélioration présentation titres tables 2026-07-07 15:55:08 +02:00
Jean-Christophe Engel
05e56d901a Correction libellé et montant faux (immo importée de balance initiale) 2026-07-06 18:52:50 +02:00
Jean-Christophe Engel
2de72ed22c Masquer bouton Détacher seulement s'il y a un amortissement créé 2026-07-04 18:43:41 +02:00
Jean-Christophe Engel
0302e457bd Suppression code inutile 2026-07-04 18:39:35 +02:00
Jean-Christophe Engel
96d66323b2 Merge branch 'aide' 2026-07-04 18:35:32 +02:00
Jean-Christophe Engel
f74590b117 Simplification processus mise-à-niveau 2026-07-04 18:11:39 +02:00
Jean-Christophe Engel
5db235669f Enregistrement libellé lignes immo transférée 2026-07-03 22:11:32 +02:00
Jean-Christophe Engel
ee0c0e304d Ajout class="actions" dans plusieurs tables 2026-07-03 13:22:58 +02:00
Jean-Christophe Engel
1447883f5d Modification ordre champs ; mise-à-jour date mise en service si date achat modifiée 2026-07-03 13:01:50 +02:00
Jean-Christophe Engel
c6ef1955d6 Modification navigation ; mise-à-jour date mise en service si date achat modifiée 2026-07-03 13:00:14 +02:00
Jean-Christophe Engel
b20b231ce0 Modification message enregistrement/suppression paramètres 2026-07-03 12:55:25 +02:00
Jean-Christophe Engel
6de2535aaa Correction libellé onglet 2026-07-03 12:52:55 +02:00
Jean-Christophe Engel
79c704a76a Merge branch 'main' into upgrade 2026-06-30 11:11:24 +02:00
Jean-Christophe Engel
c5ae123189 Merge branch 'main' into aide 2026-06-30 11:09:06 +02:00
Jean-Christophe Engel
d344334179 Suppresion code inutile 2026-06-25 14:09:21 +02:00
Jean-Christophe Engel
515d24a004 Ajout fichier oublié + simplification comparaison versions 2026-06-25 13:57:58 +02:00
Jean-Christophe Engel
8f09359180 Suppresion code inutile 2026-06-25 13:41:48 +02:00
Jean-Christophe Engel
c460f39c8c Merge branch 'main' into upgrade 2026-06-25 09:40:21 +02:00
Jean-Christophe Engel
d3a048dcdb Merge branch 'main' into aide 2026-06-25 09:40:08 +02:00
Jean-Christophe Engel
171692fe45 Fusion branche main 2026-06-24 15:04:19 +02:00
Jean-Christophe Engel
56e7703859 Ajout mise à niveau module 2026-06-24 15:01:37 +02:00
Jean-Christophe Engel
ade535b693 Merge branch 'main' into aide 2026-06-24 11:57:55 +02:00
Jean-Christophe Engel
a83586d426 Merge branch 'main' into aide 2026-06-24 09:06:49 +02:00
Jean-Christophe Engel
c4210aa700 Ajout onglet Aide 2026-06-24 09:06:18 +02:00
Jean-Christophe Engel
f701bfe39b Merge branch 'main' into aide 2026-06-23 11:43:57 +02:00
Jean-Christophe Engel
e746011c35 Ajout fichiers aide 2026-06-23 10:40:32 +02:00
43 changed files with 1075 additions and 158 deletions

34
_compare_version.tpl Normal file
View file

@ -0,0 +1,34 @@
{{* -*- brindille -*- *}}
{{*
Comparer deux numéros de version n1.n2[.n3]
@param nv1
@param nv2
@result comp : -1 si nv1 < nv2, 0 si nv1 = nv2, 1 si nv1 > nv2
*}}
{{:assign nv1=$nv1|cat:"."}}
{{:assign nv2=$nv2|cat:"."}}
{{:assign var="tv1" value=$nv1|explode:"."}}
{{:assign var="tv2" value=$nv2|explode:"."}}
{{:assign comp=0}}
{{:assign i=0}}
{{#foreach from=$tv1 item="e1"}}
{{:assign var="e2" from="tv2.%d"|args:$i}}
{{if $e1 < $e2}}
{{:assign comp=-1}}
{{:break}}
{{elseif $e1 > $e2}}
{{:assign comp=1}}
{{:break}}
{{/if}}
{{:assign i="%d+1"|math:$i}}
{{/foreach}}
{{*
cas où le premier tableau a moins d'éléments que le 2ème
et où les éléments présents dans les deux tableaux sont identiques
*}}
{{if $comp == 0 && $tv1|count < $tv2|count}}
{{:assign comp = -1}}
{{/if}}

View file

@ -2,7 +2,7 @@
{{*
lister les amortissement non rattachés à une immo
@param filter_condition
@param condition
*}}
{{#select
line.id as line_id,
@ -18,9 +18,9 @@
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 credit > 0 AND (NOT trans.status & 16) AND !condition
ORDER BY trans.date, trans.label;
!filter_condition=$filter_condition
!condition=$condition
assign="amort_line"
}}
{{* voir s'il existe des lignes d'immo liées à cette ligne d'amortissement *}}

View file

@ -76,7 +76,7 @@
{{:assign montant_immo=$doc_amount|or:$debit}}
{{:assign immo_date = $doc_date_achat|or:$trans_date}}
{{:assign label_immo=$doc_label|or:$trans_label}}
{{if $line_label != null && $line_label != $label_immo}}
{{if $label_immo|strpos:$line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$line_label}}
{{/if}}

View file

@ -149,6 +149,8 @@
{{#foreach from=$module.config.filters item="filter"}}
{{if $trans_label|strpos:$filter !== false}}
{{:assign status="ignored"}}
{{else}}
{{:assign status=""}}
{{/if}}
{{/foreach}}
{{/if}}

View file

@ -16,6 +16,7 @@
<li {{if $current == "unfinished"}}class="current"{{/if}}><a href="index.html?type_immo=unfinished">En cours</a></li>
<li {{if $current == "other"}}class="current"{{/if}}><a href="index.html?type_immo=other">À classer</a></li>
<li {{if $current == "config"}} class="current"{{/if}}><a href="config.html">Configuration</a></li>
<li {{if $current == "aide"}} class="current"{{/if}}><a href="aide.html">Aide</a></li>
</ul>
{{if $subcurrent != null}}

99
_upgrade_to031.tpl Normal file
View file

@ -0,0 +1,99 @@
{{* -*- brindille -*- *}}
{{*
Mettre à niveau vers v0.31
- créer un doc de liaison pour chaque amortissement lié à une immobilisation
mais uniquement pour les immo déjà gérées, sinon l'upgrade
vers 0.33 ne fonctionnera pas car on pourrait se retrouver avec
des liaisons immo <-> amort sans doc associé à l'immo donc la
transformation de link vers amort_link ne pourra se faire
- id ligne d'immobilisation
- id ligne d'amortissement
- id écriture d'amortissement
*}}
{{* lister les immobilisations *}}
{{:include file="_get_config.html" keep="module.config"}}
{{:assign account_condition="("}}
{{#foreach from=$module.config.prefixes item="code"}}
{{:assign code=$code|cat:"%"|quote_sql}}
{{:assign account_condition=$account_condition|cat:" account.code LIKE "|cat:$code|cat:" OR "}}
{{/foreach}}
{{:assign account_condition=$account_condition|cat:"0)"}}
{{:assign filter_condition=" AND NOT ("}}
{{#foreach from=$module.config.filters item="filter"}}
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
{{:assign filter_condition=$filter_condition|cat:" trans.label LIKE "|cat:$filter|cat:" OR "}}
{{/foreach}}
{{:assign filter_condition=$filter_condition|cat:"0)"}}
{{:assign condition=$account_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"|cat:$filter_condition}}
{{#select
line.id as immo_line_id
FROM acc_transactions AS trans
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
INNER JOIN acc_accounts AS account ON line.id_account = account.id
INNER JOIN acc_years AS years ON trans.id_year = years.id
WHERE !condition
ORDER BY trans.date DESC;
!condition=$condition
}}
{{* voir si l'immo est prise en charge *}}
{{#load type="immo" where="$$.line = :line_id" :line_id=$immo_line_id|intval}}
{{:assign status=$status}}
{{else}}
{{:assign status="unknown"}}
{{/load}}
{{* ne pas faire la liaison si pas de doc *}}
{{if $status == "ignored" || $status == "unknown"}}
{{:continue}}
{{/if}}
{{* lister les écritures d'amortissement liées *}}
{{:assign amort_lines=null}}
{{#select
CASE links.id_related = t_immo.id
WHEN true THEN links.id_transaction
WHEN false THEN links.id_related
END as amort_trans_id,
l_amort.id AS amort_line_id
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)
INNER JOIN acc_transactions_lines as l_amort on amort_trans_id = l_amort.id_transaction
INNER JOIN acc_accounts AS account ON l_amort.id_account = account.id
WHERE l_immo.id = :line_id AND l_amort.credit <> 0 AND account.code LIKE '28%';
:line_id = $immo_line_id|intval
assign="amort_lines."
}}
{{/select}}
{{#foreach from=$amort_lines item="line"}}
{{* chercher un doc associé *}}
{{#load type="link"
where="$$.immo_line_id = :immo_line_id
AND $$.amort_line_id = :amort_line_id
AND $$.amort_trans_id = :amort_trans_id"
:immo_line_id = $immo_line_id
:amort_line_id = $line.amort_line_id
:amort_trans_id = $line.amort_trans_id
assign="link"
}}
{{else}}
{{* pas de doc => le créer *}}
{{:save
key=""|uuid
type="link"
immo_line_id=$immo_line_id
amort_line_id=$line.amort_line_id
amort_trans_id=$line.amort_trans_id
}}
{{/load}}
{{/foreach}}
{{/select}}

64
_upgrade_to033.tpl Normal file
View file

@ -0,0 +1,64 @@
{{* -*- brindille -*- *}}
{{*
Mettre à niveau vers v0.33, pour gérer les écritures du bilan d'ouverture
où le montant d'une ligne d'immo ou d'une ligne d'amort peut être
réparti entre plusieurs immo et plusieurs amort
- modifier le doc d'immo
- date => date_mes (date mise en service)
- modifier le doc de liaison d'amortissement
- id ligne d'immobilisation => id doc immobilisation
- id ligne d'amortissement
- id écriture d'amortissement
- ajouter montant amortissement
*}}
{{* doc immo *}}
{{#load type="immo" assign="elem"}}
{{if $elem.date != null}}
{{:assign var="elem.date_mes" value=$elem.date}}
{{:assign var="docs." value=$elem}}
{{:delete id=$elem.id}}
{{/if}}
{{/load}}
{{* créer les nouveaux documents *}}
{{#foreach from=$docs item="doc"}}
{{:save
key=""|uuid
type=$doc.type
line=$doc.line
duration=$doc.duration
label=$doc.label
amount=$doc.amount
date_achat=$doc.date_achat
date_mes=$doc.date_mes
status=$doc.status
}}
{{/foreach}}
{{* lister les liaisons actuelles ligne amort => ligne immo *}}
{{#load type="link" assign="link"}}
{{#load type="immo" where="$$.line = :immo_line_id" :immo_line_id=$link.immo_line_id assign="immo"}}
{{:assign link_doc=null}}
{{:assign var="link_doc.immo_doc_id" value=$immo.id}}
{{:assign var="link_doc.amort_line_id" value=$link.amort_line_id}}
{{:assign var="link_docs." value=$link_doc}}
{{else}}
{{* liaison orpheline : ignorer *}}
{{/load}}
{{:delete id=$link.id}}
{{/load}}
{{* créer les nouvelles liaisons *}}
{{#foreach from=$link_docs item="link"}}
{{:save
key=""|uuid
type="amort_link"
immo_doc_id=$link.immo_doc_id
amort_line_id=$link.amort_line_id
amount=null
}}
{{/foreach}}

View file

@ -161,7 +161,7 @@
{{:admin_header title="Ajout immobilisation" current="module_amortization"}}
{{* barre de navigation *}}
{{if ! $dialog}}
{{:include file="_nav.html" current="managed" subcurrent="add_asset"}}
{{:linkbutton href="index.html" label="Retour" shape="left"}}
{{/if}}
{{:form_errors}}
@ -224,7 +224,7 @@
<dl>
<div id="div_amort">
{{:input type="number" name="duree" label="Durée d'amortissement" required=true min=0 default=1 suffix="année(s)"}}
{{:input type="date" name="date_mes" label="Date de mise en service" help="C'est la date de première utilisation ; à renseigner uniquement si différente de la date d'acquisition"}}
{{:input type="date" name="date_mes" label="Date de mise en service" default=$now|date_short help="C'est la date de première utilisation ; à modifier si différente de la date d'acquisition"}}
</div>
</dl>
</fieldset>
@ -245,5 +245,8 @@ function changeYear(evt, f_accounts = ['credit_account', 'debit_account'], f_yea
(function () {
document.getElementById('f_id_year').onchange = changeYear;
document.getElementById('f_date_achat').addEventListener("change", (e) => {
document.getElementById('f_date_mes').value = document.getElementById('f_date_achat').value;
});
})();
</script>

View file

@ -200,9 +200,9 @@
<legend>Classement</legend>
<dl id="classement_immo">
<dt><label>Faites un choix</label> <b>(obligatoire)</b></dt>
{{:input type="radio-btn" name="classify" value="managed" label="Immobilisation à amortir" help="L'immobilisation sera classée parmi les immobilisations amortissables" default=$choix_defaut}}
{{:input type="radio-btn" name="classify" value="managed" label="Immobilisation à amortir" default=$choix_defaut}}
{{if $ligne_immo.date_achat > $first_date}}
{{:input type="radio-btn" name="classify" value="archived" label="Immobilisation sortie du bilan" help="L'immobilisation sera classée parmi les immobilisations sorties du bilan" default=$choix_defaut}}
{{:input type="radio-btn" name="classify" value="archived" label="Immobilisation sortie du bilan" default=$choix_defaut}}
{{/if}}
{{:input type="radio-btn" name="classify" value="ignored" label="Immobilisation à ignorer" help="L'écriture n'apparaitra plus dans la liste des immobilisations" default=$choix_defaut}}
</dl>
@ -211,11 +211,11 @@
<fieldset class="masquable">
<legend>Informations</legend>
<dl>
{{:input type="number" name="duree" label="Durée d'amortissement" required=true min=1 suffix="année(s)"}}
{{:input type="money" name="montant" label="Montant de l'immobilisation" required=true default=$reste help="à modifier si différent du montant de l'écriture d'immobilisation"}}
{{:input type="date" name="date_achat" label="Date d'acquisition" default=$date_achat_defaut help="à modifier si nécessaire"}}
{{:input type="date" name="date_mes" label="Date de mise en service" default=$date_mes_defaut help="à modifier si différente de la date d'acquisition"}}
{{:input type="text" name="libelle" label="Libellé" default=$immo_label help="à modifier si nécessaire"}}
{{:input type="money" name="montant" label="Montant de l'immobilisation" required=true default=$reste help="à modifier si différent du montant de l'écriture d'immobilisation"}}
{{:input type="number" name="duree" label="Durée d'amortissement" required=true min=1 suffix="année(s)"}}
{{:input type="date" name="date_mes" label="Date de mise en service" default=$date_mes_defaut help="à modifier si différente de la date d'acquisition"}}
</dl>
</fieldset>
@ -236,7 +236,6 @@ function toggleInputs(event) {
const managed = classement_immo.querySelector('input[type=radio][value=managed]');
if (managed.checked) {
g.toggle('.masquable', true);
document.getElementById('f_duree').focus();
} else {
g.toggle('.masquable', false);
}
@ -248,6 +247,9 @@ toggleInputs();
radios.forEach(radio => {
radio.addEventListener("change", toggleInputs);
});
document.getElementById('f_date_achat').addEventListener("change", (e) => {
document.getElementById('f_date_mes').value = document.getElementById('f_date_achat').value;
});
})();
</script>

12
aide.html Normal file
View file

@ -0,0 +1,12 @@
{{* -*- brindille -*- *}}
{{:admin_header title="Aide" custom_css="./style_aide.css" current="module_amortization"}}
{{* barre de navigation *}}
{{:include file="_nav.html" current="aide"}}
<section class="page">
<article>
{{:include file="doc/aide.html"}}
</article>
</section>

View file

@ -15,7 +15,7 @@
{{: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.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{if $info_immo.amount != null}}
@ -39,7 +39,11 @@
{{* 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"}}
{{:assign date_amort=$date_debut|quote_sql}}
{{:assign date_condition="trans.date >= "|cat:$date_amort}}
{{:assign condition=$date_condition|cat:" AND "|cat:$filter_condition}}
{{:include file="./_get_free_amort.html" condition=$condition keep="free_amort_lines"}}
{{/if}}
{{:admin_header title="Détails de l'immobilisation" custom_css="./style.css" current="module_amortization"}}
@ -174,8 +178,8 @@
<td>{{$line.date|date_short}}</td>
<td>{{$line.label}}</td>
<td class="money">{{"%f"|math:$line.amount|money_currency_html:false|raw}}</td>
<td>
{{if $total_amort == 0}}
<td class="actions">
{{if ! $created_amort}}
{{:linkbutton label="Détacher" href="detach_credit.html?immo_doc_id=%s&credit_line_id=%s"|args:$_GET.immo_doc_id:$line.credit_line_id shape="minus"}}
{{/if}}
</td>
@ -239,7 +243,7 @@
<td class="money">{{"%f"|math:$solde|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{if ! $created_amort}}
{{: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"}}
{{/if}}

View file

@ -14,7 +14,7 @@
{{/if}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{:assign montant_immo=$info_immo.amount|or:$ligne_immo.amount}}

View file

@ -14,13 +14,22 @@
{{/if}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false }}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/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 solde_immo="%d-%d"|math:$ligne_immo.amount:$total_credits}}
{{:assign valeur_residuelle="%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, created_amort"}}
{{:assign valeur_residuelle="%d-%d"|math:$valeur_residuelle:$total_amort}}
{{* chercher l'écriture au crédit du compte d'immobilisation *}}
{{#select
@ -62,11 +71,14 @@
{{/if}}
{{else}}
{{:assign montant_credit=$_POST.montant|money_int}}
{{* vérifier que le montant saisi est inférieur au solde de l'écriture d'immobilisation *}}
{{if $montant_credit > $solde_immo}}
{{:assign solde_nb="%f"|math:$solde_immo|money_currency:false}}
{{:error message="Le montant de l'avoir ne peut être supérieur au montant de l'immobilisation (%s)"|args:$solde_nb}}
{{/if}}
{{* vérifier que le montant saisi est inférieur à la valeur nette de l'écriture d'immobilisation *}}
{{if $montant_credit > $valeur_residuelle}}
{{:assign solde_nb="%f"|math:$valeur_residuelle|money_currency:false}}
{{:error message="Le montant de l'avoir ne peut être supérieur à la valeur nette de l'immobilisation (%s)"|args:$solde_nb}}
{{/if}}
{{* vérifier que le montant saisi est inférieur au reste de l'écriture de crédit *}}
{{if $montant_credit > $reste}}
{{:assign reste_nb="%f"|math:$reste|money_currency:false}}
@ -77,7 +89,6 @@
{{else}}
{{:assign saved_credit=$montant_credit}}
{{/if}}
{{/if}}
{{* Lier l'écriture de crédit à l'écriture d'immobilisation *}}
{{:include file="_common_attach.html" immo_doc_id=$_GET.immo_doc_id trans_id=$credit_line.trans_id}}
@ -95,15 +106,6 @@
amount=$saved_credit
}}
{{*
{{if $montant_credit == $solde_immo}}
{{:save
id=$_GET.immo_doc_id
status="archived"
}}
{{/if}}
*}}
{{if $_GET.from == "exit"}}
{{:redirect force="exit_step1.html?immo_doc_id=%s&ok=1&msg=attach_avoir"|args:$_GET.immo_doc_id}}
{{else}}

View file

@ -18,7 +18,7 @@
*}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}

View file

@ -19,7 +19,7 @@
{{/if}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}

View file

@ -129,6 +129,7 @@
{{/if}}
<form method="post" action="">
<h3>Comptes d'immobilisation amortissables</h3>
<p class="help">
Les immobilisations amortissables sont cherchées dans les comptes sélectionnés et leurs sous-comptes.
@ -138,7 +139,7 @@
<thead>
<tr>
<th>Compte</th>
<th></th>
<th class="actions"></th>
</tr>
</thead>
<tbody>
@ -184,7 +185,7 @@
<thead>
<tr>
<th>Compte</th>
<th></th>
<th class="actions"></th>
</tr>
</thead>
<tbody>

472
doc/aide.html Normal file
View file

@ -0,0 +1,472 @@
<header>
<h1 id="module-immobilisations-et-amortissements-pour-paheko">Module
immobilisations et amortissements pour Paheko</h1>
</header>
<h2 id="préambule">Préambule</h2>
<p>Ce module permet de :</p>
<ul>
<li><a href="#créer-nouvelle_immobilisation">créer des
immobilisations</a></li>
<li><a href="#enregistrer-nouvel-amortissement">enregistrer</a> les
écritures damortissement en fin dexercice, calculés selon la méthode
linéaire.</li>
<li><a href="#sortir-immobilisation-bilan">sortir les immobilisations du
bilan</a> à la fin de leur période dutilisation.</li>
</ul>
<p>Il permet aussi de <a
href="#transformer-immobilisations-en-cours">transformer des
immobilisations</a> en cours de constitution en immobilisations
amortissables.</p>
<p>Les <a href="#immo-créées-hors-module">immobilisations créées avant
la mise en service du module</a> sont détectées par le module mais il
faut renseigner leurs paramètres (au minimum, la durée damortissement)
pour que le module puisse les gérer.</p>
<p>Les amortissements créés avant la mise en service du module sont
détectées par le module mais il faut les <a
href="#attacher-amortissement">attacher manuellement</a> aux
immobilisations correspondantes.</p>
<h2 id="créer-nouvelle_immobilisation">Créer une nouvelle
immobilisation</h2>
<p>Cliquer le bouton <em>Ajouter une immobilisation</em> qui est présent
sur plusieurs onglets ; dans la fenêtre de saisie qui saffiche il
suffit de saisir les données de limmobilisation puis de cliquer
<em>Ajouter</em> :</p>
<ul>
<li>Exercice : sélectionner lexercice dans lequel enregistrer
lécriture</li>
<li>Date dacquisition : doit être située dans lexercice
sélectionné</li>
<li>Libellé</li>
<li>Montant</li>
<li>Compte de décaissement : compte bancaire, de caisse ou fournisseurs
dimmobilisations (404) dans le cas où limmobilisation est réglée
ultérieurement</li>
<li>Compte dimmobilisation</li>
<li>Projet</li>
<li>Durée damortissement en années</li>
<li><em>Date de mise en service</em> : cest cette date qui est prise en
compte dans le calcul des amortissements. Il sagit de la date à partir
de laquelle limmobilisation peut commencer à être utilisée ; à modifier
uniquement si différente de la date dacquisition.</li>
</ul>
<p>Après création, limmobilisation est classée dans longlet
<em>Amortissables</em>.</p>
<h3 id="ristourne-avoir">Ristourne sur immobilisation</h3>
<p>Lorsquon acquiert une immobilisation, il se peut que par la suite on
obtienne une ristourne sous forme davoir ; cet avoir est enregistré
dans Paheko par une écriture dont le montant est au crédit du compte
dimmobilisation ; il est important dattacher cette écriture davoir à
lécriture dimmobilisation. En effet, le montant amortissable est égal
au montant dacquisition de limmobilisation moins la somme des
avoirs.</p>
<p>Tant quon na pas créé damortissement pour une immobilisation, il
est possible dattacher une écriture davoir à lécriture
dimmobilisation.</p>
<p>Pour cela, cliquer le bouton <em>Détails</em> en face de
limmobilisation concernée puis <em>Attacher une écriture davoir</em> ;
sil existe des écritures au crédit du compte de limmobilisation, on
pourra en sélectionner une pour lassocier à lécriture
dimmobilisation ; son montant sera ensuite déduit du montant de
limmobilisaiton pour calculer le montant des amortissements.</p>
<p>Si lavoir a été reçu après la création du premier amortissement, il
suffit de supprimer lécriture damortissement et de procéder comme
ci-dessus pour attacher lavoir ; il faudra ensuite recréer
lamortissement.</p>
<h2 id="enregistrer-nouvel-amortissement">Enregistrer un nouvel
amortissement</h2>
<p>Une écriture damortissement se fait à la date de clôture de
lexercice. Les amortissements sont calculés selon la méthode linéaire :
montant à amortir divisé par durée damortissement en années.</p>
<p>À partir de longlet <em>Amortissables</em>, cliquer le bouton
<em>Détails</em> en face de limmobilisation choisie.<br />
Avant denregistrer un nouvel amortissement, il peut être utile de
vérifier avec le bouton <em>Attacher un amortissement</em> sil existe
des écritures damortissement qui nont pas encore été attachées à
limmobilisation (cas des immobilisations et amortissements créés en
dehors du module) ; voir ci-dessous la rubrique <a
href="#attacher-amortissement">Attacher un amortissement à une
immobilisation</a>.</p>
<p>Cliquer le bouton <em>Enregistrer un amortissement</em> ; dans la
fenêtre de saisie, les informations sont calculées et pré-remplies par
le modules ; en général, il nest pas nécessaire de les modifier :</p>
<ul>
<li>Exercice : cest lexercice dans lequel enregistrer lécriture</li>
<li>Date de lécriture : doit être située dans lexercice
sélectionné</li>
<li>Libellé</li>
<li>Montant : calculé par le module ; il peut être modifié si
nécessaire, par exemple pour larrondir</li>
<li>Compte de débit : par défaut cest le compte <em>6811 : Dotation aux
amortissements des immobilisations</em></li>
<li>Compte damortissement : par défaut cest le compte qui correspond
au compte de limmobilisation, obtenu en intercalant le chiffre 8 après
le premier chiffre du compte dimmobilisation.</li>
</ul>
<p>Après enregistrement, le nouvel amortissement apparaît dans la liste
des amortissements de limmobilisation.</p>
<p>Lorsquune immobilisation est totalement amortie, elle est classée
dans longlet <em>Amorties</em>.</p>
<h2 id="immo-créées-hors-module">Incorporer une écriture
dimmobilisation créée hors du module</h2>
<p>Les immobilisations créées <em>avant</em> la mise en service du
module sont regroupées dans longlet <em>À classer</em>. On distingue
deux cas :</p>
<ul>
<li>immobilisation créée <a href="#immo-créée-dans-paheko">dans
Paheko</a></li>
<li>immobilisation créée dans une <a
href="#immo-créée-hors-paheko">comptabilité antérieure à Paheko</a></li>
</ul>
<h3 id="immo-créée-dans-paheko">Immobilisations créées dans Paheko</h3>
<p>Cliquer le bouton <em>Paramètres</em> en face de limmobilisation à
prendre en charge et choisir comment sera considérée
limmobilisation :</p>
<ul>
<li><a href="#immo-à-amortir">Immobilisation à amortir</a></li>
<li><a href="#immo-sortie-bilan">Immobilisation sortie du bilan</a></li>
<li>Immobilisation à ignorer</li>
</ul>
<h4 id="immo-à-amortir">Immobilisation à amortir</h4>
<p>Le seul paramètre obligatoire est la durée damortissement en
années ; les autres paramètres sont pré-remplis à partir de lécriture
dimmobilisation ; dans la majorité des cas, il nest pas nécessaire de
les modifier.</p>
<ul>
<li>Date dacquisition : (facultatif) à renseigner uniquement si elle
diffère de la date de lécriture dimmobilisation</li>
<li>Libellé : (facultatif) à renseigner uniquement sil diffère du
libellé de lécriture dimmobilisation</li>
<li>Montant de limmobilisation : (obligatoire) pré-rempli avec le
montant de lécriture dimmobilisation</li>
<li>Durée damortissement : (obligatoire) durée en années</li>
<li>Date de mise en service : (facultatif) voir <a
href="#créer-nouvelle_immobilisation">Créer une nouvelle
immobilisation</a>.</li>
</ul>
<p>Après enregistrement, limmobilisation est classée dans longlet
<em>Amortissables</em> ; on peut vérifier et éventuellement modifier ses
paramètres grâce au bouton <em>Détails</em></p>
<p>Si des amortissements ont été enregistrés pour cette immobilisation
avant la mise en service du module, on pourra les attacher à
limmobilisation : voir ci-dessous la rubrique <a
href="#attacher-amortissement">Attacher un amortissement à une
immobilisation</a></p>
<h4 id="immo-sortie-bilan">Immobilisation sortie du bilan</h4>
<p>Pour une immobilisation créée et sortie du bilan avant la mise en
service du module, un certain nombre décritures sont enregistrées dans
Paheko :</p>
<ul>
<li>écritures davoir (éventuellement)</li>
<li>écritures damortissement :
<ul>
<li>amortissement annuel : 0, 1 ou plusieurs</li>
<li>amortissement complémentaire à la date de sortie du bilan</li>
<li>amortissement exceptionnel ou écriture de cession, selon le cas</li>
</ul></li>
<li>écriture de sortie du bilan</li>
</ul>
<p>Le module donne la possibilité de les attacher à limmobilisation en
plusieurs étapes :</p>
<ol type="1">
<li>Attacher une ou plusieurs écritures davoir à limmobilisation, le
cas échéant</li>
<li>Attacher une ou plusieurs écritures damortissement à
limmobilisation</li>
<li>Attacher une écriture de cession à limmobilisation, le cas
échéant</li>
<li>Attacher une écriture de sortie du bilan à limmobilisation</li>
</ol>
<p>Une fois cette étape validée, limmobilisation sera classée dans
longlet <em>Sorties du bilan</em>.</p>
<h3 id="immo-créée-hors-paheko">Immobilisations créées dans une
comptabilité antérieure à Paheko</h3>
<p>Les immobilisations et amortissements créés dans une comptabilité
antérieure à Paheko peuvent aussi être pris en charge par le module ;
ces immobilisations et amortissements figurent <em>dans le bilan du
dernier exercice de lancienne comptabilité</em> et doivent
<em>obligatoirement se retrouver dans la balance douverture du premier
exercice créé dans Paheko</em> ; cette balance comporte, pour chaque
compte dimmobilisation, le <em>montant total</em> des immobilisations
de ce compte. Il va donc être nécessaire de répartir le montant dun
compte entre les différentes immobilisations dont il est composé. Il en
est de même pour les amortissements.</p>
<p>Il faut donc obligatoirement disposer des informations ci-dessous
pour chaque immobilisation à incorporer :</p>
<ul>
<li>montant amortissable de limmobilisation, cest-à-dire la différence
entre le montant dacquisition et le montant des éventuelles ristournes
sous forme décritures davoir au crédit du compte dimmobilisation</li>
<li>montant total des amortissements</li>
<li>durée damortissement</li>
<li>date dacquisition de limmobilisation<br />
ou</li>
<li>date de mise en service de limmobilisation ; voir <a
href="#créer-nouvelle_immobilisation">Créer une nouvelle
immobilisation</a>.</li>
</ul>
<p><strong>Remarque :</strong> les immobilisations créées et <em>sorties
du bilan</em> dans une comptabilité antérieure à Paheko ne figurent plus
au bilan (!) et napparaissent donc pas dans la balance douverture du
premier exercice créé dans Paheko ; on na donc pas à sen
(pré)occuper.</p>
<h4 id="exemple">Exemple</h4>
<p>Lexemple ci-dessous montre un extrait de la balance douverture du
premier exercice créé dans Paheko et reprend une partie du bilan du
dernier exercice dune comptabilité antérieure à Paheko.</p>
<figure>
<img src="./doc/exemple_balance-initiale.png"
title="Exemple de balance d&#39;ouverture"
alt="Extrait de balance douverture initiale dans Paheko" />
<figcaption aria-hidden="true">Extrait de balance douverture initiale
dans Paheko</figcaption>
</figure>
<ul>
<li>la ligne du compte <strong>2181</strong> correspond à deux
immobilisations de valeurs respectives <strong>5 500€</strong> et
<strong>13 590,33€</strong> pour un total de
<strong>19 090,33€</strong></li>
<li>la ligne du compte <strong>2185</strong> correspond à trois
immobilisations de valeurs respectives <strong>16 500€</strong>,
<strong>8 685€</strong> et <strong>3 500€</strong> pour un total de
<strong>28 695€</strong></li>
<li>la ligne du compte <strong>28181</strong> correspond à la somme des
amortissements des deux immobilisations du compte
<strong>2181</strong></li>
<li>la ligne du compte <strong>28185</strong> correspond à la somme des
amortissements des trois immobilisations du compte
<strong>2185</strong></li>
</ul>
<p>Dans longlet <em>À classer</em> on trouve les immobilisations de la
balance douverture :</p>
<figure>
<img src="./doc/exemple_immobilisations_a_classer-1.png"
title="Immobilisations de la balance initiale à incorporer dans Paheko"
alt="Immobilisations de la balance initiale à incorporer dans Paheko" />
<figcaption aria-hidden="true">Immobilisations de la balance initiale à
incorporer dans Paheko</figcaption>
</figure>
<ul>
<li>la colonne <em>Date</em> donne la date de la balance
douverture</li>
<li>la colonne <em>Montant</em> donne le total des immobilisations de
chaque compte</li>
<li>la colonne <em>Affecté</em> indique quel montant a déjà été attribué
à une ou plusieurs immobilisation(s)</li>
<li>la colonne <em>Reste</em> indique quel montant na pas encore été
attribué</li>
</ul>
<p>Pour saisir les paramètres de la première immobilisation du compte
2181, cliquer le bouton <em>Paramètres</em>, puis cocher le choix
« Immobilisation à amortir ».</p>
<p>Les paramètres sont pré-remplis à partir des données de lécriture de
la balance douverture et seront donc à modifier en fonction des données
de limmobilisation concernée.</p>
<figure>
<img src="./doc/exemple_parametres_immobilisation-1.png"
title="Paramètres a renseigner" alt="Paramètres a renseigner" />
<figcaption aria-hidden="true">Paramètres a renseigner</figcaption>
</figure>
<ul>
<li>Date dacquisition de limmobilisation</li>
<li>Libellé de limmobilisation</li>
<li>Montant de limmobilisation : (obligatoire) <em>à modifier
obligatoirement</em> en indiquant le <em>montant réel de
limmobilisation</em>.<br />
Si une immobilisation a fait lobjet dun avoir, il faut déduire ce
montant de celui de limmobilisation : le montant à indiquer est le
<em>montant à amortir</em>.</li>
<li>Durée damortissement : (obligatoire) durée en années</li>
<li>Date de mise en service : (facultatif) ; voir <a
href="#créer-nouvelle_immobilisation">Créer une nouvelle
immobilisation</a>.</li>
</ul>
<p>Après validation, cette immobilisation se retrouve classée dans les
immobilisations amortissables :</p>
<figure>
<img src="./doc/exemple_immobilisations_amortissables-1.png"
title="Immobilisations amortissables]"
alt="Immobilisations amortissables" />
<figcaption aria-hidden="true">Immobilisations
amortissables</figcaption>
</figure>
<p>et dans longlet <em>À classer</em> on trouve le montant affecté à la
première immobilisation.</p>
<figure>
<img src="./doc/exemple_immobilisations_a_classer-2.png"
title="Immobilisations à incorporer dans Paheko"
alt="Immobilisations à incorporer dans Paheko" />
<figcaption aria-hidden="true">Immobilisations à incorporer dans
Paheko</figcaption>
</figure>
<p>On fait de même pour la deuxième immobilisation du compte 2181 puis
pour les trois immobilisations du compte 2185 et on obtient :</p>
<figure>
<img src="./doc/exemple_immobilisations_amortissables-2.png"
title="Immobilisations amortissables"
alt="Immobilisations amortissables" />
<figcaption aria-hidden="true">Immobilisations
amortissables</figcaption>
</figure>
<p>et longlet <em>À classer</em> est vide.</p>
<p>Si des amortissements ont été enregistrés pour une ou plusieurs
immobilisations avant la mise en service du module, on pourra les
attacher à leur immobilisation : voir ci-dessous la rubrique <a
href="#attacher-amortissement">Attacher un amortissement à une
immobilisation</a>.</p>
<h2 id="attacher-amortissement">Attacher un amortissement à une
immobilisation</h2>
<p>Si des écritures damortissement ont été saisies avec Paheko
<em>avant</em> la mise en service du module <em>Amortissements</em>, on
peut les attacher à leur immobilisation :</p>
<ul>
<li>cliquer le bouton <em>Détails</em> en face de limmobilisation
concernée ; si la mention</li>
</ul>
<blockquote>
<p>« Il y a des écritures damortissement qui ne sont pas attachées à
une immobilisation ! Utilisez le bouton « Attacher un amortissement »
pour les afficher ; vous pourrez choisir den attacher certaines à cette
immobilisation. »</p>
</blockquote>
<p>est présente, cest quil existe des écritures damortissement
saisies avec Paheko <em>avant</em> la mise en service du module.</p>
<h3 id="cas-des-amortissements-créés-avec-paheko">Cas des amortissements
créés avec Paheko</h3>
<ul>
<li>cliquer le bouton <em>Attacher un amortissement</em> pour en
afficher la liste</li>
<li>le cas échéant, cliquer <em>Attacher</em> en face de lécriture à
attacher.</li>
</ul>
<p>Le montant affiché est celui de lécriture damortissement ; il
suffit de valider.</p>
<h3 id="cas-des-amortissements-créés-hors-paheko">Cas des amortissements
créés hors Paheko</h3>
<p><em>Rappel</em> : ces amortissements sont présents dans la balance
douverture du premier exercice créé dans Paheko ; cette balance inclut,
pour chaque compte damortissement, le <em>montant total des
amortissements</em> de ce compte à la date de fin du dernier exercice de
la comptabilité antérieure à Paheko ; ce montant devra donc <em>être
réparti entre les différentes immobilisations concernées</em>.</p>
<p><strong>Exemple :</strong> le montant qui figure dans la balance
douverture pour le compte 28185 est de 7058,06€ réparti ainsi :</p>
<ul>
<li>montant des amortissements du Saxophone : 1016,43€</li>
<li>montant des amortissements du Piano numérique : 4102,39€</li>
<li>montant des amortissements de la Batterie : 1939,24€</li>
</ul>
<p>Voici la page des détails du Saxophone avant lattachement des
amortissements de la balance douverture :</p>
<figure>
<img src="./doc/exemple_amortissement-saxo.png"
title="Page de détails du saxophone"
alt="Page de détails du saxophone" />
<figcaption aria-hidden="true">Page de détails du saxophone</figcaption>
</figure>
<p>Cliquer le bouton <em>Attacher un amortissement</em> ; la liste des
amortissements du compte 28185 saffiche :</p>
<figure>
<img src="./doc/exemple_amortissements_a_repartir.png"
title="Amortissements du compte 28185"
alt="Amortissements du compte 28185" />
<figcaption aria-hidden="true">Amortissements du compte
28185</figcaption>
</figure>
<p>Sur la page qui souvre quand on clique <em>Attacher</em>, il faut
modifier le montant affiché (7058,06) en indiquant le montant des
amortissements de limmobilisation (1016,43).</p>
<figure>
<img src="./doc/exemple_saisie-amortissement-saxo.png"
title="Saisie du montant de l&#39;amortissement"
alt="Saisie du montant de lamortissement" />
<figcaption aria-hidden="true">Saisie du montant de
lamortissement</figcaption>
</figure>
<p>De retour sur la page des amortissements, on constate la présence de
lécriture damortissement quon vient dattacher ; on peut détacher une
écriture si on sest trompé.</p>
<figure>
<img src="./doc/exemple_amortissement-saxo-2.png"
title="Page de détails du saxophone"
alt="Page de détails du saxophone" />
<figcaption aria-hidden="true">Page de détails du saxophone</figcaption>
</figure>
<p>On peut faire de même pour les amortissements des autres
immobilisations du compte 2185 (Batterie et Piano) puis pour celles du
compte 2181 et lon obtient :</p>
<figure>
<img src="./doc/exemple_immobilisations_amortissables-3.png"
title="Immobilisations et amortissements après incorporation"
alt="Immobilisations et amortissements après incorporation" />
<figcaption aria-hidden="true">Immobilisations et amortissements après
incorporation</figcaption>
</figure>
<p>Les immobilisations et amortissements de la balance douverture
initiale ont été incorporés en totalité dans le module.</p>
<p>Par la suite, pour créer de nouveaux amortissements, il suffit de
procéder comme <a href="#enregistrer-nouvel-amortissement">pour une
immobilisation standard</a>.</p>
<h2 id="sortir-immobilisation-bilan">Sortir une immobilisation du
bilan</h2>
<p>Tant quune immobilisation est utilisée dans lassociation, elle
reste au bilan, même si elle est totalement amortie.</p>
<p>On doit la sortir du bilan quand elle nest plus utilisée (vétusté,
hors service) ou quand elle est donnée ou vendue (dans ce cas, on parle
de cession).</p>
<p>Cliquer le bouton <em>Détails</em> en face de limmobilisation à
sortir du bilan, puis cliquer <em>Sortir du bilan</em>.</p>
<ul>
<li>dans la première étape, il faut indiquer lexercice et la date de
sortie du bilan</li>
<li>dans la deuxième étape, il faut indiquer si la sortie de bilan
saccompagne dune cession (vente) et dans ce cas, indiquer le montant
de la cession</li>
<li>la troisième étape indique lensemble des écritures avec :
<ul>
<li>un amortissement complémentaire pour lexercice à la date de sortie
si limmobilisation nest pas déjà totalement amortie</li>
<li>un amortissement exceptionnel sil ny a pas de cession et si
limmobilisation nest pas déjà totalement amortie</li>
<li>une écriture de cession, le cas échéant ; cette écriture est une
créance quil faudra solder lors de lenregistrement du règlement de la
cession</li>
<li>lécriture de sortie du bilan</li>
</ul></li>
</ul>
<p>Après validation, limmobilisation est classée dans longlet
<em>Sorties du bilan</em>.<br />
En cas de besoin, il est possible de parcourir les différentes étapes
pour vérifier les attachements et éventuellement en modifier certains en
cliquant le bouton <em>Modifier</em>.</p>
<h2 id="transformer-immobilisations-en-cours">Transformer des
« Immobilisations en cours » en « Immobilisation amortissable »</h2>
<p>Longlet <em>En cours</em> regroupe des immobilisations en cours de
constitution (classe 23 et sous-comptes) ; ces immobilisations ne sont
pas amortissables, mais sont destinées à être groupées pour former une
nouvelle immobilisation qui pourra être amortie.</p>
<p>Pour ce faire, cocher les lignes à grouper puis cliquer
<em>Transférer</em>.</p>
<figure>
<img src="./doc/exemple_immobilisations_en-cours-1.png"
title="Immobilisations en cours de constitutions"
alt="Immobilisations en cours de constitutions" />
<figcaption aria-hidden="true">Immobilisations en cours de
constitutions</figcaption>
</figure>
<p>Sur la page qui souvre, saisir les données de la nouvelle
immobilisation :</p>
<ul>
<li>Exercice</li>
<li>Date de mise en service ; voir <a
href="#créer-nouvelle_immobilisation">Créer une nouvelle
immobilisation</a>.</li>
<li>Libellé</li>
<li>Compte dans lequel enregistrer lécriture dimmobilisation</li>
<li>Durée damortissement</li>
</ul>
<p>Après validation, la nouvelle immobilisation sera classée dans
longlet <em>Amortissables</em>.</p>
<p>Si on dé-coche la case <em>Amortir…</em>, limmobilisation ne sera
pas amortie et sera marquée <em>ignorée</em>. On pourra la retrouver
dans longlet <em>À classer</em> en cochant la case <em>Afficher les
écritures ignorées</em>.</p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View file

@ -13,7 +13,7 @@
{{/if}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
@ -123,12 +123,13 @@
{{/select}}
{{:admin_header title="Immobilisation sortie du bilan" custom_css="./style.css" current="module_amortization"}}
{{if $_GET.from == "exit"}}
{{:assign current="other"}}
{{else}}
{{:assign current="archived"}}
{{/if}}
{{:include file="_nav.html" current=$current subcurrent="exit"}}
{{*:include file="_nav.html" current=$current subcurrent="exit"*}}
{{if $_GET.ok}}
{{if $_GET.msg|match:"attach_avoir"}}
@ -146,7 +147,7 @@
<dt>Compte d'immobilisation</dt>
<dd>{{$ligne_immo.account_code}} — {{$ligne_immo.account_label}}</dd>
<dt>Montant de l'immobilisation</dt>
<dd><span class="money">{{$ligne_immo.amount|money_html|raw}}</dd>
<dd><span class="money">{{$montant_immo|money_currency_html:false|raw}}</dd>
{{if $total_credits > 0}}
<dt>Montant des avoirs</dt>
<dd class="money">{{"%f"|math:$total_credits|money_currency_html:false|raw}}</dd>
@ -162,8 +163,8 @@
</dl>
</div>
{{if $linked_immos != null}}
<h3 class="ruler">Écritures d'avoir attachées à l'immobilisation</h3>
{{if $linked_immos != null}}
<table class="list">
<thead>
<td class="num"></td>
@ -185,7 +186,7 @@
<td class="money">{{"%f"|math:$line.amount|money_currency_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Détacher" href="detach_credit.html?immo_doc_id=%s&credit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.credit_line_id shape="minus"}}
</td>
</tr>
@ -210,7 +211,7 @@
<td class="num"></td>
<td>Date</td>
<td>Libellé</td>
<td>Montant</td>
<td class="nombre">Montant</td>
<td>N° compte</td>
<td>Compte</td>
<td class="actions"></td>
@ -229,7 +230,7 @@
<td class="money">{{$amount|money_html|raw}}</td>
<td><a href="{{$compte_url}}">{{$account_code}}</a></td>
<td>{{$account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Attacher" href="attach_credit.html?immo_doc_id=%s&credit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$credit_line_id shape="plus" target="_dialog"}}
</td>
</tr>

View file

@ -21,7 +21,7 @@
{{/form}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
@ -95,7 +95,7 @@
{{else}}
{{:assign current="archived"}}
{{/if}}
{{:include file="_nav.html" current=$current subcurrent="exit"}}
{{*:include file="_nav.html" current=$current subcurrent="exit"*}}
{{if $_GET.ok}}
{{if $_GET.msg|match:"attach_amort"}}
@ -113,7 +113,7 @@
<dt>Compte d'immobilisation</dt>
<dd>{{$ligne_immo.account_code}} — {{$ligne_immo.account_label}}</dd>
<dt>Montant de l'immobilisation</dt>
<dd><span class="money">{{$ligne_immo.amount|money_html|raw}}</dd>
<dd><span class="money">{{$montant_immo|money_currency_html:false|raw}}</dd>
{{if $total_credits > 0}}
<dt>Montant des avoirs</dt>
<dd class="money">{{"%f"|math:$total_credits|money_currency_html:false|raw}}</dd>
@ -129,8 +129,8 @@
</dl>
</div>
{{if $linked_amort != null}}
<h3 class="ruler">Écritures d'amortissement attachées à l'immobilisation</h3>
{{if $linked_amort != null}}
<table class="list">
<thead>
<tr>
@ -164,7 +164,7 @@
<td class="money">{{"%f"|math:$line.amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Détacher" href="detach_amort.html?immo_doc_id=%s&amort_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.line_id shape="minus"}}
</td>
</tr>
@ -221,7 +221,7 @@
<td class="money">{{"%f"|math:$line.amort_amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Attacher" href="attach_amort.html?immo_doc_id=%s&amort_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.amort_line_id shape="plus" target="_dialog"}}
</td>
</tr>

View file

@ -21,7 +21,7 @@
{{/form}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
@ -100,7 +100,7 @@
{{else}}
{{:assign current="archived"}}
{{/if}}
{{:include file="_nav.html" current=$current subcurrent="exit"}}
{{*:include file="_nav.html" current=$current subcurrent="exit"*}}
{{if $_GET.ok}}
{{if $_GET.msg|match:"attach_cession"}}
@ -118,7 +118,7 @@
<dt>Compte d'immobilisation</dt>
<dd>{{$ligne_immo.account_code}} — {{$ligne_immo.account_label}}</dd>
<dt>Montant de l'immobilisation</dt>
<dd><span class="money">{{$ligne_immo.amount|money_html|raw}}</dd>
<dd><span class="money">{{$montant_immo|money_currency_html:false|raw}}</dd>
{{if $total_credits > 0}}
<dt>Montant des avoirs</dt>
<dd class="money">{{"%f"|math:$total_credits|money_currency_html:false|raw}}</dd>
@ -138,8 +138,8 @@
</dl>
</div>
{{if $linked_cessions != null}}
<h3 class="ruler">Écriture de cession attachée à l'immobilisation</h3>
{{if $linked_cessions != null}}
<table class="list">
<thead>
<tr>
@ -173,7 +173,7 @@
<td class="money">{{"%f"|math:$line.amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Détacher" href="detach_cession.html?immo_doc_id=%s&cession_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.line_id shape="minus"}}
</td>
</tr>
@ -186,7 +186,7 @@
</p>
{{else}}
<p class="block alert">
Aucune écriture de cession... que faire ?
Aucune écriture de cession
</p>
{{/if}}
@ -226,7 +226,7 @@
<td class="money">{{"%f"|math:$line.amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Attacher" href="attach_cession.html?immo_doc_id=%s&cession_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.line_id shape="plus"}}
</td>
</tr>

View file

@ -26,11 +26,11 @@
{{/form}}
{{#form on="finish"}}
{{:redirect to="index.html?type_immo=managed"}}
{{:redirect to="index.html?type_immo=other"}}
{{/form}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
@ -84,6 +84,39 @@
assign="exit_line"
}}
{{/select}}
{{* lignes de l'écriture de sortie *}}
{{#select
line.label as line_label,
line.credit,
line.debit,
acc.id as account_id,
acc.code as account_code,
acc.label as account_label
FROM acc_transactions AS trans
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 trans.id = :exit_trans_id;
:exit_trans_id = $exit_line.trans_id
assign="trans"
}}
{{:assign var="exit_trans.%s"|args:$account_code value=$trans}}
{{/select}}
{{:assign acc_codes=$exit_trans|keys}}
{{#foreach from=$linked_amort}}
{{if $account_code|in:$acc_codes}}
{{:assign var="exit_amort" from="exit_trans.%s.debit"|args:$account_code}}
{{:break}}
{{/if}}
{{/foreach}}
{{if $exit_amort != $total_amort}}
{{:assign exit_amort_display=$exit_amort|money_currency:false|replace:" ":" "}}
{{:assign total_amort_display=$total_amort|money_currency:false|replace:" ":" "}}
{{:assign erreur=1}}
{{:assign message="Le montant des amortissement dans l'écriture de sortie (%s) est différent du total des amortissements associés à l'immobilisation (%s)."|args:$exit_amort_display:$total_amort_display}}
{{/if}}
{{/if}}
{{*
@ -187,7 +220,7 @@
{{else}}
{{:assign current="archived"}}
{{/if}}
{{:include file="_nav.html" current=$current subcurrent="exit"}}
{{*:include file="_nav.html" current=$current subcurrent="exit"*}}
{{if $_GET.ok}}
{{if $_GET.msg|match:"attach_exit"}}
@ -205,7 +238,7 @@
<dt>Compte d'immobilisation</dt>
<dd>{{$ligne_immo.account_code}} — {{$ligne_immo.account_label}}</dd>
<dt>Montant de l'immobilisation</dt>
<dd><span class="money">{{$ligne_immo.amount|money_html|raw}}</dd>
<dd><span class="money">{{$montant_immo|money_currency_html:false|raw}}</dd>
{{if $total_credits > 0}}
<dt>Montant des avoirs</dt>
<dd class="money">{{"%f"|math:$total_credits|money_currency_html:false|raw}}</dd>
@ -225,8 +258,37 @@
</dl>
</div>
{{if $erreur}}
<p class="block error">{{$message}}<br />Vérifiez si vous avez correctement attaché les écritures d'amortissement.</p>
<table class="list error">
<caption>Détails de l'écriture de sortie de bilan</caption>
<thead class="error">
<tr>
<td class="num">Numéro</td>
<td>Compte</td>
<td class="nombre">Débit</td>
<td class="nombre">Crédit</td>
<td>Libellé</td>
</tr>
</thead>
<tbody>
{{#foreach from=$exit_trans key="account_code" item="line"}}
{{:assign account_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.id_year}}
<tr>
<td class="num"><a href="{{$account_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td class="money">{{$line.debit|money_currency:false}}</td>
<td class="money">{{$line.credit|money_currency:false}}</td>
<td>{{$line.line_label}}</td>
</tr>
{{/foreach}}
</tbody>
</table>
{{/if}}
<h3 class="ruler">Écriture de sortie de bilan attachée à l'immobilisation</h3>
{{if $exit_line != null}}
<h3 class="ruler">Écriture de sortie du bilan attachée à l'immobilisation</h3>
{{:assign exit_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$exit_line.trans_id}}
<table class="list">
<thead>
<tr>
@ -241,7 +303,7 @@
</thead>
<tbody>
<tr>
<td class="num"><a href="{{$trans_url}}">#{{$exit_line.trans_id}}</a></td>
<td class="num"><a href="{{$exit_url}}">#{{$exit_line.trans_id}}</a></td>
<td>{{$exit_line.date|date_short}}</td>
<td>
{{if $exit_line.line_label != null}}
@ -253,7 +315,7 @@
<td class="money">{{"%f"|math:$exit_line.amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$exit_line.account_code}}</a></td>
<td>{{$exit_line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Détacher" href="detach_exit.html?immo_doc_id=%s&exit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$exit_line.line_id shape="minus"}}
</td>
</tr>
@ -261,7 +323,7 @@
</table>
{{elseif $exit_lines}}
<p class="block alert">
Vous pouvez attacher une écriture de sortie du bilan à l'immobilisation
Vous pouvez attacher une écriture de sortie de bilan à l'immobilisation
</p>
{{/if}}
@ -293,7 +355,7 @@
<td class="money">{{"%f"|math:$line.amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Attacher" href="attach_exit.html?immo_doc_id=%s&exit_line_id=%s&from=exit"|args:$_GET.immo_doc_id:$line.credit_line_id shape="plus"}}
</td>
</tr>
@ -301,16 +363,29 @@
</tbody>
</table>
{{elseif $exit_line == null}}
<p class="block alert">Aucune écriture de sortie du bilan. Vérifiez l'attachement d'écriture d'avoir.</p>
<p class="block error">Aucune écriture de sortie de bilan avec un
montant de {{$solde|money_currency_html:false|raw}} au crédit du
compte {{$ligne_immo.account_code}} — {{$ligne_immo.account_label}} ;
<br />
Vérifiez si vous avez correctement attaché les éventuelles écritures d'avoir.
<br />
Si vous avez supprimé l'écriture de sortie de bilan, il faut
la recréer avant de pouvoir classer cette immobilisation
« Sortie du bilan » !
</p>
{{:save
key=$info_immo.key
status=null
}}
{{/if}}
<form method="post" action="">
<p class="submit">
{{:button type="submit" name="backward" label="Revenir à l'étape précédente" shape="left" class="main"}}
{{if $exit_line}}
{{if $exit_line && ! $erreur}}
{{:button type="submit" name="validate" label="Terminer" shape="check" class="main"}}
{{else}}
{{:button type="submit" name="finish" label="Terminer" shape="export" class="main"}}
{{:button type="submit" name="finish" label="Annuler" shape="delete" class="main"}}
{{/if}}
</p>
</form>

View file

@ -31,7 +31,7 @@
<thead>
<tr>
<th>Libellé</th>
<th></th>
<th class="actions"></th>
</tr>
</thead>
<tbody>

View file

@ -21,6 +21,7 @@
{{:error message="Il n'y a aucune écriture avec le numéro de ligne %s !"|args:$_GET.immo_line_id}}
{{/select}}
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_line_id|intval}}{{/load}}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}
{{* Traiter l'envoi du formulaire *}}
{{#form on="proceed"}}

View file

@ -18,25 +18,28 @@
{{elseif $type_immo == "unfinished"}}
{{:admin_header title="Immobilisations en cours de constitution" custom_css="./style.css" current="module_amortization" subcurrent="unfinished"}}
{{/if}}
{{:include file="_nav.html" current=$type_immo}}
{{* Mise à niveau *}}
{{:assign module_version="0.33"}}
{{:include file="upgrade.html" module_version=$module_version}}
{{* supprimer les documents sans écriture associée *}}
{{:include file="_remove_orphan_docs.tpl"}}
{{if $_GET.ok}}
{{if $_GET.msg|match:"immobilisation"}}
{{:assign msg="Immobilisation enregistrée"}}
{{elseif $_GET.msg|match:"suppr_infos"}}
{{:assign msg="Informations supprimées"}}
{{:assign msg="Paramètres supprimés"}}
{{elseif $_GET.msg|match:"infos"}}
{{:assign msg="Informations enregistrées"}}
{{:assign msg="Paramètres enregistrés"}}
{{/if}}
<p class="block confirm">{{$msg}}</p>
{{elseif $_GET.err}}
<p class="block error">Échec enregistrement immobilisation</p>
{{/if}}
{{* supprimer les documents sans écriture associée *}}
{{:include file="_remove_orphan_docs.tpl"}}
{{if $type_immo == "other"}}
{{:include file="_immobilisations_autres.html"}}
{{elseif $type_immo == "archived"}}
@ -46,5 +49,4 @@
{{elseif $type_immo == "managed" || $type_immo == "amortized"}}
{{:include file="_immobilisations.html"}}
{{/if}}
{{:admin_footer}}

View file

@ -10,10 +10,16 @@
{{if $message != null}}
{{:error message=$message}}
{{/if}}
{{:assign label_immo=$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{: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.trans_label}}
{{if $label_immo|strpos:$ligne_immo.line_label ===false }}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{if $info_immo.amount != null}}
{{:assign var="ligne_immo.amount" value=$info_immo.amount}}
{{/if}}
{{*
lister les écritures au crédit du compte de l'immobilisation
@ -23,6 +29,8 @@
{{else}}
{{:assign account_code=$ligne_immo.account_code|substr:0:2|cat:"%"}}
{{/if}}
{{:assign date_immo=$info_immo.date_achat|or:$ligne_immo.date_achat}}
{{#select
line.id as credit_line_id,
line.id_transaction as credit_trans_id,
@ -40,6 +48,7 @@
INNER JOIN acc_accounts AS account ON account.id = line.id_account
INNER JOIN acc_years AS y ON y.id = trans.id_year
WHERE account.code LIKE :account_code AND credit > 0
AND trans.date >= :date_immo
AND credit_line_id NOT IN (
SELECT json_extract(link.document, '$.credit_line_id') AS credit_line_id FROM !table as link
WHERE json_extract(link.document, '$.type') == "credit_link"
@ -49,6 +58,7 @@
ORDER BY trans.date, trans.label;
:account_code = $account_code
!table = $module.table
:date_immo = $date_immo
assign="other_immos."
}}
{{/select}}
@ -88,7 +98,7 @@
<dt>Montant</dt>
<dd class="money strong">{{"%f"|math:$ligne_immo.amount|money_currency_html:false|raw}}</dd>
<dt>Date de l'immobilisation</dt>
<dd>{{$ligne_immo.date_achat|date_short}}</dd>
<dd>{{$date_debut|date_short}}</dd>
</dl>
</div>
@ -118,7 +128,7 @@
</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Attacher" href="attach_credit.html?credit_line_id=%d&immo_doc_id=%s"|args:$line.credit_line_id:$_GET.immo_doc_id shape="plus"}}
</td>
</tr>

View file

@ -13,7 +13,7 @@
{{:assign montant_immo=$info_immo.amount|or:$ligne_immo.amount}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{:assign date_mes=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}}
@ -22,21 +22,26 @@
{{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_immos, total_credits"}}
{{:assign montant_immo="%d-%d"|math:$montant_immo:$total_credits}}
{{if $_GET.filter}}
{{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}}
{{:include
file="./_get_amort_code.html"
code_immo=$ligne_immo.account_code
keep="code_amort"
}}
{{:assign filter_condition="account.code = "|cat:$code_amort}}
{{if $_GET.filter}}
{{:assign amort_account=$code_amort|quote_sql}}
{{:assign filter_condition="account.code = "|cat:$amort_account}}
{{else}}
{{:assign account_filter="28%"|quote_sql}}
{{:assign filter_condition="account.code LIKE "|cat:$account_filter}}
{{/if}}
{{:assign date_amort=$date_mes|quote_sql}}
{{:assign date_condition="trans.date >= "|cat:$date_amort}}
{{:assign condition=$date_condition|cat:" AND "|cat:$filter_condition}}
{{* lister les amortissements non rattachés à une immo *}}
{{:include file="./_get_free_amort.html" filter_condition=$filter_condition keep="free_amort_lines"}}
{{:include file="./_get_free_amort.html" condition=$condition keep="free_amort_lines"}}
{{:admin_header title="Amortissements non rattachés" custom_css="./style.css" current="module_amortization"}}
@ -112,7 +117,7 @@
<td class="money">{{"%f"|math:$line.amount|money_html:false|raw}}</td>
<td><a href="{{$compte_url}}">{{$line.account_code}}</a></td>
<td>{{$line.account_label}}</td>
<td>
<td class="actions">
{{:linkbutton label="Attacher" href="attach_amort.html?immo_doc_id=%s&amort_line_id=%s"|args:$_GET.immo_doc_id:$line.line_id shape="plus"}}
</td>
</tr>

View file

@ -74,6 +74,15 @@ table.list tbody tr.ignored:nth-child(even) {
font-style: italic;
background: rgba(255, 255, 200, 0.5);
}
table.error {
background-color: #fcc;
}
table.error tr, table.error td, table.error thead td {
background-image : none;
background-color: #fcc;
}
html.dark table.list tbody tr.ignored:nth-child(odd) {
font-style: italic;
background: rgba(100, 100, 0, 0.4);

69
style_aide.css Normal file
View file

@ -0,0 +1,69 @@
section.page *
{
padding: 0.1em;
margin-top: 0.1em;
}
section.page ul {
list-style: inside;
margin-left: 1.5em;
}
section.page ol {
list-style: decimal;
margin-left: 1.5em;
}
section.page h1 {
font-size: 2em;
}
section.page h2 {
font-size: 1.5em;
margin-top : 1.5rem;
margin-bottom : 0.5rem;
}
section.page h3 {
font-size: 1.2em;
margin-top : 1.5rem;
margin-bottom : 0.5rem;
}
section.page h4 {
font-size: 1em;
margin-top : 1.5rem;
margin-bottom : 0.5rem;
}
section.page figure {
margin-top : 0.5rem;
margin-bottom : 1rem;
}
section.page figcaption {
font-weight : bold;
}
section.page blockquote {
width: 75%;
margin-left: 2em;
margin-right: 2em;
font-family: Arial, Helvetica, sans-serif;
font-size: 1.1em;
}
section.page article header {
text-align: center;
margin: 1rem 0;
padding-bottom: 0.5rem;
border-bottom: 2px solid #999;
}
a:link {
color: #0033aa;
}
a:link:visited {
color: #6600aa;
}

View file

@ -36,7 +36,6 @@
{{:assign trans_list=$trans_list|implode:","}}
{{:assign trans_list="("|cat:$trans_list|cat:")"}}
{{:assign condition=$condition|cat:" AND trans.id IN "|cat:$trans_list}}
{{:assign condition=$condition|cat:" AND NOT (trans.status & 16)"}}
{{#select
trans.id as trans_id,
@ -45,6 +44,7 @@
SUM(line.debit) AS line_debit,
account.code AS account_code,
account.label AS account_label,
line.label as line_label,
line.id_project as project_id
FROM acc_transactions AS trans
INNER JOIN acc_transactions_lines AS line ON line.id_transaction = trans.id
@ -56,6 +56,7 @@
}}
{{:assign var="transactions.%s"|args:$trans_id
amount=$line_debit
line_label=$line_label
date=$trans_date
code=$account_code
label=$account_label
@ -265,7 +266,7 @@
</td>
<td>{{:input name="credit_lines[]" type="text" class="money" size="8" default=$amount|money}}</td>
<td>{{:input name="debit_lines[]" type="text" class="money" size="8" disabled=true}}</td>
<td>{{:input type="text" name="line_labels[]" size="40"}}</td>
<td>{{:input type="text" name="line_labels[]" size="40" default=$line_label}}</td>
<td>
{{if $projects != null}}
{{:input type="select" name="id_project" options=$projects default_empty="— Aucun —"}}

45
upgrade.html Normal file
View file

@ -0,0 +1,45 @@
{{* -*- brindille -*- *}}
{{*
mise à niveau des documents selon version
*}}
{{* version 0.31 *}}
{{:assign tag="0.31"}}
{{:include file="_compare_version.tpl" nv1=$module_version nv2=$tag keep="comp"}}
{{:assign module_comp=$comp}}
{{:include file="_compare_version.tpl" nv1=$module.config.version nv2=$tag keep="comp"}}
{{:assign config_comp=$comp}}
{{if $module_comp >= 0 && $config_comp < 0}}
{{* $module_version >= '0.31' && $module.config.version < '0.31' *}}
{{:include file="_upgrade_to031.tpl"}}
<p class="block info">Mise à jour vers version {{$tag}} terminée</p>
{{/if}}
{{* version 0.33 *}}
{{:assign tag="0.33"}}
{{:include file="_compare_version.tpl" nv1=$module_version nv2=$tag keep="comp"}}
{{:assign module_comp=$comp}}
{{:include file="_compare_version.tpl" nv1=$module.config.version nv2=$tag keep="comp"}}
{{:assign config_comp=$comp}}
{{if $module_comp >= 0 && $config_comp < 0}}
{{* $module_version >= '0.33' && $module.config.version < '0.33' *}}
{{:include file="_upgrade_to033.tpl"}}
<p class="block info">Mise à jour vers version {{$tag}} terminée</p>
{{/if}}
{{* enregistrer le nouveau numéro de version dans la config du module *}}
{{:include file="_compare_version.tpl" nv1=$module_version nv2=$module.config.version keep="comp"}}
{{if $comp > 0}}
{{:save key="config" version=$module_version}}
<p class="block alert">Nouvelle version enregistrée : {{$module_version}}</p>
{{/if}}
{{:linkbutton label="Revenir à la page d'accueil du module" href="index.html" shape="right"}}

View file

@ -17,6 +17,20 @@
{{:error message=$message}}
{{/if}}
{{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}}
{{if $label_immo|strpos:$ligne_immo.line_label === false}}
{{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}}
{{/if}}
{{: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}}
@ -45,19 +59,8 @@
{{:assign vnc_code="652"}}
{{:assign cession_code="757"}}
{{* TODO : faut-il forcer les 3 sélecteurs de compte d'amortissement à avoir toujours la même valeur ? *}}
{{* Traiter l'envoi du formulaire *}}
{{#form on="save"}}
{{*
{{if $_POST.amort_comp_account != null}
{{:assign account=$_POST.amort_comp_account}}
{{elseif $_POST.amort_except_account != null}
{{:assign account=$_POST.amort_except_account}}
{{elseif $_POST.amort_sortie_account != null}
{{:assign account=$_POST.amort_sortie_account}}
{{/if}}
*}}
{{:assign account=$_POST.amort_sortie_account}}
{{:include
@ -78,7 +81,7 @@
}}
{{:assign comp_account_code=$account_code|keys|value:0}}
{{:assign libelle="Amortissement complémentaire "|cat:$ligne_immo.trans_label}}
{{:assign libelle="Amortissement complémentaire "|cat:$label_immo}}
{{:assign
var="lines."
debit="%f/100"|math:$amort_comp
@ -103,7 +106,7 @@
keep="account_code"
}}
{{:assign except_account_code=$account_code|keys|value:0}}
{{:assign libelle="Amortissement exceptionnel "|cat:$ligne_immo.trans_label}}
{{:assign libelle="Amortissement exceptionnel "|cat:$label_immo}}
{{:assign
var="lines."
debit="%f/100"|math:$amort_except
@ -129,7 +132,7 @@
id_year=$_GET.year
type="advanced"
date=$_GET.exit_date
label="Amortissement final "|cat:$ligne_immo.trans_label
label="Amortissement final "|cat:$label_immo
lines=$lines
linked_transactions=$ligne_immo.trans_id
}}
@ -156,7 +159,7 @@
keep="account_code"
}}
{{:assign immo_account_code=$account_code|keys|value:0}}
{{:assign libelle="Sortie du bilan de "|cat:$ligne_immo.trans_label}}
{{:assign libelle="Sortie du bilan de "|cat:$label_immo}}
{{:assign
var="lines."
account=$immo_account_code
@ -216,7 +219,7 @@
{{if $montant_cession > 0}}
{{* Cession de l'immobilisation *}}
{{:assign libelle="Produit cession "|cat:$ligne_immo.trans_label}}
{{:assign libelle="Produit cession "|cat:$label_immo}}
{{:include
file="_get_codes.html"
account=$_POST.creance_account
@ -333,7 +336,7 @@
{{/foreach}}
{{:assign patterns=$pattern_array|implode:"|"}}
<h3>Sortir l'immobilisation « {{$ligne_immo.trans_label}} » du bilan</h3>
<h3>Sortir l'immobilisation « {{$label_immo}} » du bilan</h3>
<form method="post" action="">
<div class="informations">
@ -342,10 +345,10 @@
<dt>Montant</dt>
<dd class="money">{{$ligne_immo.amount|money_currency_html:false|raw}}</dd>
<dt>Date d'acquisition</dt>
<dd >{{$ligne_immo.date_achat|date_short}}</dd>
{{if $info_immo.date_mes != null && $info_immo.date_mes != $ligne_immo.date_achat}}
<dd >{{$date_achat|date_short}}</dd>
{{if $date_mes != null}}
<dt>Date de mise en service</dt>
<dd>{{$info_immo.date_mes|date_short}}</dd>
<dd>{{$date_mes|date_short}}</dd>
{{/if}}
<dt>Durée de l'amortissement</dt>
<dd class="num">{{$info_immo.duration}} ans</dd>