Compare commits

..

No commits in common. "92622fb9a01612be8bb94b40ef9d318f9a1d14bc" and "d2f924a81ec93b2825c6488a6f768ae2195c6d86" have entirely different histories.

11 changed files with 107 additions and 199 deletions

View File

@ -7,6 +7,7 @@
résultat : open_years, selected_year, selected_chart résultat : open_years, selected_year, selected_chart
*}} *}}
{{*:debug check::date=$date*}}
{{:assign open_years=""}} {{:assign open_years=""}}
{{#years status=false}} {{#years status=false}}
{{:assign open_years=$open_years|cat:"\n"|cat:" - "|cat:$label|cat:" : "}} {{:assign open_years=$open_years|cat:"\n"|cat:" - "|cat:$label|cat:" : "}}

View File

@ -1,14 +1,7 @@
<nav class="tabs"> <nav class="tabs">
<ul> <ul>
<li {{if $current == 'index'}} class="current"{{/if}}><a href="{{$module.url}}index.html">Immobilisations</a></li> <li {{if $current == 'index'}} class="current"{{/if}}><a href="{{$module.url}}index.html">Immobilisations</a></li>
{{if $current == 'amortization'}}<li class="current"><a>Amortissements</a></li>{{/if}}
<li {{if $current == 'aide'}} class="current"{{/if}}><a href="{{$module.url}}aide.html">Aide</a></li> <li {{if $current == 'aide'}} class="current"{{/if}}><a href="{{$module.url}}aide.html">Aide</a></li>
</ul> </ul>
{{if $current == 'index'}}
<ul class="sub">
{{if $subcurrent == 'amortization'}}
<li class="current"><a>Amortissements</a></li>
{{/if}}
</ul>
{{/if}}
</nav> </nav>

View File

@ -1,6 +1,7 @@
{{* -*- brindille -*- *}} {{* -*- brindille -*- *}}
{{:admin_header title="Ajout immobilisation" current="module_amortissement"}} {{:admin_header title="Ajout immobilisation" current="module_amortissement"}}
{{* barre de navigation *}} {{* barre de navigation *}}
{{if ! $dialog}} {{if ! $dialog}}
{{:include file="_nav.html" current="index"}} {{:include file="_nav.html" current="index"}}
@ -8,24 +9,18 @@
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}
{{#form on="add"}} {{#form on="add"}}
{{*:debug add::POST=$_POST*}}
{{* vérifier que la date est située dans un exercice ouvert *}} {{* vérifier que la date est située dans un exercice ouvert *}}
{{:include {{:include
file="_check_date.html" file="_check_date.html"
date=$_POST.date_achat date=$_POST.date
keep="open_years, selected_year, selected_chart" keep="open_years, selected_year, selected_chart"
}} }}
{{* vérifier que la date d'acquisition est antérieure à la date de mise en service *}}
{{:assign date_debut=$_POST.date_mes|or:$_POST.date_achat|parse_date}}
{{if $date_debut|strtotime < $_POST.date_achat|parse_date|strtotime}}
{{:assign dd=$date_debut|date_short}}
{{:assign da=$_POST.date_achat|date_short}}
{{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}}
{{/if}}
{{if $selected_year == null}} {{if $selected_year == null}}
{{:error message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}} {{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}}
{{:error message=$message}}
{{/if}} {{/if}}
{{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}} {{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}}
@ -68,7 +63,7 @@
assign="result" assign="result"
id_year=$selected_year id_year=$selected_year
type="revenue" type="revenue"
date=$_POST.date_achat date=$_POST.date
label=$_POST.designation label=$_POST.designation
amount=$_POST.montant amount=$_POST.montant
debit=$debit_account|keys|key:0 debit=$debit_account|keys|key:0
@ -76,6 +71,7 @@
id_project=$_POST.id_project id_project=$_POST.id_project
}} }}
{{* enregistrer les infos de l'immobilisation *}}
{{* vérifier s'il y a déjà un document avec le même numéro de ligne *}} {{* vérifier s'il y a déjà un document avec le même numéro de ligne *}}
{{:assign var="immo_id" value=$result.lines.1.id}} {{:assign var="immo_id" value=$result.lines.1.id}}
{{#load where="$$.line = :line_id" :line_id=$immo_id}} {{#load where="$$.line = :line_id" :line_id=$immo_id}}
@ -84,14 +80,12 @@
{{:assign key=""|uuid}} {{:assign key=""|uuid}}
{{/load}} {{/load}}
{{* enregistrer les infos de l'immobilisation *}}
{{:save {{:save
key=$key key=$key
validate_schema="schema.json" validate_schema="schema.json"
type="immo" type="immo"
line=$immo_id line=$immo_id
duration=$_POST.duree|intval duration=$_POST.duree|intval
date=$date_debut
}} }}
{{:redirect force="index.html?ok=1&msg=immobilisation"}} {{:redirect force="index.html?ok=1&msg=immobilisation"}}
@ -111,8 +105,7 @@
<fieldset class="ajout_immo"> <fieldset class="ajout_immo">
<legend>Ajouter une immobilisation</legend> <legend>Ajouter une immobilisation</legend>
<dl> <dl>
{{:input type="date" name="date_achat" label="Date d'acquisition" required=true default=$now|date_short}} {{:input type="date" name="date" label="Date" required=true default=$now|date_short}}
{{:input type="date" name="date_mes" label="Date de mise en service" help="à renseigner uniquement si différente de la date d'acquisition"}}
{{:input type="text" name="designation" label="Désignation" required=true}} {{:input type="text" name="designation" label="Désignation" required=true}}
{{:input type="money" name="montant" label="Montant" required=true}} {{:input type="money" name="montant" label="Montant" required=true}}
{{:input type="number" name="duree" label="Durée d'amortissement" required=true default=1}} {{:input type="number" name="duree" label="Durée d'amortissement" required=true default=1}}

View File

@ -1,54 +1,36 @@
{{* -*- brindille -*- *}} {{* -*- brindille -*- *}}
{{:admin_header title="Renseigner informations amortissement" custom_css=$custom_css current="module_amortissement"}} {{:admin_header title="Renseigner durée amortissement" custom_css=$custom_css current="module_amortissement"}}
{{* barre de navigation *}} {{* barre de navigation *}}
{{if ! $dialog}} {{if ! $dialog}}
{{:include file="_nav.html" current="index"}} {{:include file="_nav.html" current="index"}}
{{/if}} {{/if}}
{{* renseigner la durée d'amortissement *}}
<h2 class="ruler">Durée d'amortissement</h2>
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}
{{#form on="add"}} {{#form on="add"}}
{{* chercher la date d'achat de l'immobilisation *}}
{{:assign var="immo_id" value=$_GET.immo_id|intval}}
{{#select
trans.date as date_achat
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 = $immo_id
assign=ligne_immo
}}
{{/select}}
{{* vérifier que la date d'acquisition est antérieure à la date de mise en service *}}
{{:assign date_debut=$_POST.date_mes|or:$ligne_immo.date_achat|parse_date}}
{{if $date_debut|strtotime < $ligne_immo.date_achat|strtotime}}
{{:assign dd=$date_debut|date_short}}
{{:assign da=$ligne_immo.date_achat|date_short}}
{{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}}
{{/if}}
{{:assign key=""|uuid}}
{{* enregistrer les infos de l'immobilisation *}} {{* enregistrer les infos de l'immobilisation *}}
{{:assign var="immo_id" value=$_GET.immo_id|intval}}
{{:assign key=""|uuid}}
{{:save {{:save
key=$key key=$key
validate_schema="schema.json" validate_schema="schema.json"
type="immo" type="immo"
line=$immo_id line=$immo_id
duration=$_POST.duree|intval duration=$_POST.duree|intval
date=$date_debut
}} }}
{{:redirect force="index.html?ok=1&msg=durée"}} {{:redirect force="index.html?ok=1&msg=durée"}}
{{/form}} {{/form}}
{{* renseigner la date de mise en service et durée d'amortissement *}}
<form method="post" action=""> <form method="post" action="">
<fieldset class="ajout_duree"> <fieldset class="ajout_duree">
<legend>Renseigner informations amortissement</legend> <legend>Renseigner durée amortissement</legend>
<dl> <dl>
{{:input type="date" name="date_mes" label="Date de mise en service" help="à renseigner uniquement si différente de la date d'acquisition"}}
{{:input type="number" name="duree" label="Durée d'amortissement" required=true default=1}} {{:input type="number" name="duree" label="Durée d'amortissement" required=true default=1}}
</dl> </dl>
</fieldset> </fieldset>
@ -59,5 +41,4 @@
</form> </form>
{{:form_errors}}
{{:admin_footer}} {{:admin_footer}}

View File

@ -8,24 +8,16 @@
<h2>Liste des immobilisations</h2> <h2>Liste des immobilisations</h2>
<div class="infos"> <div class="infos">
<p> <p>
On y trouve les immobilisations détectées par le module, On y trouve les immobilisations détectées par le module, c'est-à-dire les écritures passées sur les comptes d'immobilisation <b>20xx</b> et <b>21xx</b>
c'est-à-dire les écritures passées sur les comptes
d'immobilisation <b>20xx</b> et <b>21xx</b>.
</p> </p>
<p> <p>
Dans le cas d'une immobilisation qui n'est pas encore prise en Dans le cas d'une immobilisation qui n'est pas encore prise en charge par le module, il faut fournir la durée en années de l'amortissement en cliquant sur le bouton « Ajouter durée »
charge par le module, il faut fournir la date de mise en
service du bien (si différente de la date d'acquisition) ainsi
que la durée en années de l'amortissement en cliquant sur le
bouton « Ajouter infos ».
</p> </p>
<p> <p>
On obtient la liste des amortissements d'une immobilisation Une fois la durée indiquée, on accède à la liste des amortissements d'une immobilisation en cliquant le bouton «Amortissements »
en cliquant le bouton «Amortissements ».
</p> </p>
<p> <p>
On peut enregistrer une nouvelle immobilisation en On peut enregistrer une nouvelle immobilisation en cliquant le bouton « Ajouter une immobilisation »
cliquant le bouton « Ajouter une immobilisation ».
</p> </p>
</div> </div>
@ -35,8 +27,7 @@
<p> <p>
Il faut renseigner les différents paramètres de l'immobilisation : Il faut renseigner les différents paramètres de l'immobilisation :
<ul> <ul>
<li>Date d'acquisition du bien</li> <li>Date : celle de l'écriture de l'immobilisation</li>
<li>Date de mise en service du bien : uniquement si différente de la précédente</li>
<li>Désignation : c'est le libellé de l'immobilisation</li> <li>Désignation : c'est le libellé de l'immobilisation</li>
<li>Montant</li> <li>Montant</li>
<li>Durée d'amortissement en années</li> <li>Durée d'amortissement en années</li>
@ -49,61 +40,34 @@
</p> </p>
</div> </div>
<h2>Amortissements</h2> <h2>Liste des amortissements</h2>
<div class="infos">
<p>
Le calcul de l'amortissement se fait par la <em>méthode linéaire</em>.
</p>
<p>
La date de début du calcul est par défaut la <em>date d'achat</em> ; si la
date de mise en service est <em>postérieure</em> à la date d'achat, c'est
celle-ci qui est prise en compte.
</p>
</div>
<h3>Liste des amortissements</h3>
<div class="help block"> <div class="help block">
<fieldset> <fieldset>
On trouve ici de une à trois listes, selon la situation : On trouve ici de une à trois listes, selon la situation :
<ul> <dl>
<li> <dt>
<b>Écritures d'amortissement liées à l'immobilisation courante</b> <label>liste des écritures d'amortissement liées à l'immobilisation courante</label>
</dt>
<dd>
Ce sont des écritures d'amortissement déjà enregistrées et liées à l'écriture de l'immobilisation courante.
</dd>
<dt>
<label>liste des amortissements à enregistrer</label>
</dt>
<dd>
Ce sont les amortissements qui n'ont pas encore été enregistrés ; seules les amortissements d'un exercice ouvert peuvent être enregistrés ; les autres sont présents pour information et pourront être enregistrés quand l'exercice correspondant aura été ouvert.
</dd>
<dt>
<label>liste des écritures d'amortissement qui ne sont associées à aucune immobilisation</label>
</dt>
<dd>
Ce sont des écritures passées sur un compte d'amortissement (<b>28xx</b>) ; en cliquant le bouton « Attacher », on peut rattacher l'écriture d'amortissement sélectionnée à l'immobilisation courante
<p> <p>
Ce sont des écritures d'amortissement déjà Si on a rattaché par ereur une écritures d'amortissement à une immobilisation, le bouton « Détacher » en face de l'écriture permettra de défaire l'opération
enregistrées et liées à l'écriture de
l'immobilisation courante.
</p> </p>
</li> </dd>
<li> </dl>
<b>Écritures d'amortissements à enregistrer</b>
<p>
Ce sont les amortissements qui n'ont pas encore
été enregistrés ; seules les amortissements d'un
exercice ouvert peuvent être enregistrés ; les
autres sont présents pour information et pourront
être enregistrés quand l'exercice correspondant
aura été ouvert.
</p>
</li>
<li>
<b>Écritures d'amortissement qui ne sont associées à aucune immobilisation</b>
<p>
Ce sont des écritures passées sur un compte
d'amortissement (<b>28xx</b>) ; en cliquant le
bouton « Attacher », on peut rattacher l'écriture
d'amortissement sélectionnée à l'immobilisation
courante.
</p>
<p>
Si on a rattaché par erreur une écritures
d'amortissement à une immobilisation, le bouton «
Détacher » en face de l'écriture permettra de
défaire l'opération.
</p>
</li>
</ul>
</fieldset> </fieldset>
</div> </div>

View File

@ -3,7 +3,7 @@
{{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortissement"}} {{:admin_header title="Liste des amortissements" custom_css="./style.css" current="module_amortissement"}}
{{* barre de navigation *}} {{* barre de navigation *}}
{{:include file="_nav.html" current="index" subcurrent="amortization"}} {{:include file="_nav.html" current="amortization"}}
{{if $_GET.ok}} {{if $_GET.ok}}
{{if $_GET.msg|match:"attach"}} {{if $_GET.msg|match:"attach"}}
@ -26,10 +26,10 @@
{{* récupérer les infos de l'immobilisation *}} {{* récupérer les infos de l'immobilisation *}}
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}} {{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
{{else}} {{else}}
{{:error message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}} {{:assign message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}}
{{:error message=$message}}
{{/load}} {{/load}}
{{:assign var="duree" from="info_immo.duration"|args:$_GET.immo_id}} {{:assign var="duree" from="info_immo.duration"|args:$_GET.immo_id}}
{{:assign date_debut=$info_immo.date|date_short}}
{{#select {{#select
line.id as immo_id, line.id as immo_id,
@ -38,6 +38,7 @@
line.debit as montant, line.debit as montant,
trans.id as trans_id, trans.id as trans_id,
trans.label as label, trans.label as label,
trans.date as date_achat,
y.id as year_id, y.id as year_id,
y.end_date as date_amort, y.end_date as date_amort,
project.label as project_label project.label as project_label
@ -49,9 +50,10 @@
:line_id = $_GET.immo_id|intval :line_id = $_GET.immo_id|intval
assign=ligne_immo assign=ligne_immo
}} }}
<h2>Amortissement de « {{$label}} » d'un montant de {{"%f"|math:$montant|money_currency}} en date du {{$date_debut}} sur {{$duree}} ans</h2> <h2>Amortissement de « {{$label}} » d'un montant de {{"%f"|math:$montant|money_currency}} en date du {{$date_achat|date_short}} sur {{$duree}} ans</h2>
{{else}} {{else}}
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}} {{:assign message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
{{:error message=$message}}
{{/select}} {{/select}}
{{* chercher des écritures d'amortissement liées à l'immobilisation *}} {{* chercher des écritures d'amortissement liées à l'immobilisation *}}
@ -68,7 +70,8 @@
trans.id_year as amort_year, trans.id_year as amort_year,
acc.id as account_id, acc.id as account_id,
acc.code as account_code, acc.code as account_code,
acc.label as account_name acc.label as account_name,
"vrai" as linked
FROM FROM
acc_transactions_lines as l_immo 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 as t_immo on t_immo.id = l_immo.id_transaction
@ -97,8 +100,9 @@
{{:assign annuite="%f/%f"|math:$montant:$duree}} {{:assign annuite="%f/%f"|math:$montant:$duree}}
{{* première annuité *}} {{* première annuité *}}
{{:assign date_achat=$ligne_immo.date_achat|date_short}}
{{:assign date_amort=$ligne_immo.date_amort|date_short}} {{:assign date_amort=$ligne_immo.date_amort|date_short}}
{{:include file="_calcul_dates.html" date_debut=$date_debut date_fin=$date_amort keep="nbjours"}} {{:include file="_calcul_dates.html" date_debut=$date_achat date_fin=$date_amort keep="nbjours"}}
{{:assign annuite_1="%f/360*%d"|math:$annuite:$nbjours|intval}} {{:assign annuite_1="%f/360*%d"|math:$annuite:$nbjours|intval}}
{{:assign annuite_courante=$annuite_1}} {{:assign annuite_courante=$annuite_1}}
@ -112,7 +116,7 @@
Amortissements attachés à « <a class="num" Amortissements attachés à « <a class="num"
href={{"%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}>{{$ligne_immo.trans_id}}</a> href={{"%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}>{{$ligne_immo.trans_id}}</a>
{{$ligne_immo.label}} » {{$ligne_immo.label}} »
({{"%f"|math:$ligne_immo.montant|money_currency}}, {{$date_debut}}) ({{"%f"|math:$ligne_immo.montant|money_currency}}, {{$ligne_immo.date_achat|date_short}})
</h3> </h3>
<table class="list"> <table class="list">
<thead> <thead>
@ -150,7 +154,11 @@
<td><a href={{$compte_url}}>{{$line.account_code}}</a></td> <td><a href={{$compte_url}}>{{$line.account_code}}</a></td>
<td>{{$line.account_name}}</td> <td>{{$line.account_name}}</td>
<td> <td>
{{:linkbutton label="Détacher" href="detach_amort.html?amort_id=%d&immo_id=%d"|args:$line.amort_line:$ligne_immo.immo_id shape="plus"}} {{if $line.linked == null}}
{{:linkbutton label="Détacher" href="detach_amort.html?amort_id=%d&immo_id=%d"|args:$line.amort_line:$ligne_immo.immo_id shape="plus"}}
{{else}}
{{:linkbutton label="Détacher" href="" shape="lock" class="disabled"}}
{{/if}}
</td> </td>
</tr> </tr>
{{:assign annuite_courante=$annuite}} {{:assign annuite_courante=$annuite}}
@ -208,11 +216,13 @@
<td class="actions"> <td class="actions">
{{if $enregistrer == 1}} {{if $enregistrer == 1}}
{{:linkbutton {{:linkbutton
label="Créer l'écriture" label="Enregistrer"
href="save_amort.html?amount=%d&account=%s&year=%s&trans_id=%d&immo_id=%s&project_id=%d&label=%s&solde=%d"|args:$annuite_courante:$ligne_immo.account_id:$current_year:$ligne_immo.trans_id:$_GET.immo_id:$project_id:$libelle:$solde_prec href="save_amort.html?amount=%d&account=%s&year=%s&trans_id=%d&immo_id=%s&project_id=%d&label=%s&solde=%d"|args:$annuite_courante:$ligne_immo.account_id:$current_year:$ligne_immo.trans_id:$_GET.immo_id:$project_id:$libelle:$solde_prec
shape="right" shape="right"
target="_dialog" target="_dialog"
}} }}
{{else}}
{{:linkbutton label="Enregistrer" href="" shape="lock" class="disabled"}}
{{/if}} {{/if}}
</td> </td>
</tr> </tr>
@ -249,6 +259,7 @@
order by trans.date, trans.label; order by trans.date, trans.label;
assign=autre_amort assign=autre_amort
}} }}
{{:assign linked="false"}}
{{#select {{#select
id_transaction, id_transaction,
id_related id_related
@ -256,6 +267,7 @@
where id_transaction = :id_amort or id_related = :id_amort; where id_transaction = :id_amort or id_related = :id_amort;
:id_amort=$t_id :id_amort=$t_id
}} }}
{{:assign var=autre_amort.linked value="true"}}
{{else}} {{else}}
{{:assign var="autres_amortissements." value=$autre_amort}} {{:assign var="autres_amortissements." value=$autre_amort}}
{{/select}} {{/select}}
@ -293,7 +305,11 @@
<td>{{$line.a_code}}</td> <td>{{$line.a_code}}</td>
<td>{{$line.a_label}}</td> <td>{{$line.a_label}}</td>
<td> <td>
{{:linkbutton label="Attacher" href="attach_amort.html?amort_id=%d&immo_id=%d"|args:$line.l_id:$ligne_immo.immo_id shape="plus"}} {{if $linked != "true"}}
{{:linkbutton label="Attacher" href="attach_amort.html?amort_id=%d&immo_id=%d"|args:$line.l_id:$ligne_immo.immo_id shape="plus"}}
{{else}}
{{:linkbutton label="Attacher" href="" shape="lock" class="disabled"}}
{{/if}}
</td> </td>
</tr> </tr>
{{/foreach}} {{/foreach}}

View File

@ -12,9 +12,11 @@
WHERE id = :line_id; WHERE id = :line_id;
:line_id = $_GET.immo_id|intval :line_id = $_GET.immo_id|intval
}} }}
{{:assign immo_trans_id=$id_transaction}} {{:assign immo_id=$id_transaction}}
{{else}} {{else}}
{{:error message="Impossible de trouver l'écriture d'immobilisation de la ligne « %s »"|args:$_GET.immo_id}} {{* TODO : améliorer le message d'erreur *}}
{{:assign message="Impossible de trouver l'écriture d'immobilisation de la ligne « %s »"|args:$_GET.immo_id}}
{{:error message=$message}}
{{/select}} {{/select}}
{{* chercher l'écriture d'amortissement *}} {{* chercher l'écriture d'amortissement *}}
@ -26,18 +28,20 @@
}} }}
{{:assign amort_id=$id_transaction}} {{:assign amort_id=$id_transaction}}
{{else}} {{else}}
{{:error message="Impossible de trouver l'écriture d'amortissement de la ligne « %s »"|args:$_GET.amort_id}} {{* TODO : améliorer le message d'erreur *}}
{{:assign message="Impossible de trouver l'écriture d'amortissement de la ligne « %s »"|args:$_GET.amort_id}}
{{:error message=$message}}
{{/select}} {{/select}}
{{* chercher les liaisons de l'écriture d'immobilisation *}} {{* chercher les liaisons de l'écriture d'immobilisation *}}
{{#select {{#select
CASE links.id_related = :immo_trans_id CASE links.id_related = :immo_id
WHEN true THEN links.id_transaction WHEN true THEN links.id_transaction
WHEN false THEN links.id_related WHEN false THEN links.id_related
END as linked_id END as linked_id
FROM acc_transactions_links as links FROM acc_transactions_links as links
WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; WHERE id_transaction = :immo_id or id_related = :immo_id;
:immo_trans_id = $immo_trans_id :immo_id = $immo_id
}} }}
{{:assign var="linked_transactions." value=$linked_id}} {{:assign var="linked_transactions." value=$linked_id}}
{{/select}} {{/select}}
@ -48,9 +52,10 @@
{{* Enregistrer les liaisons *}} {{* Enregistrer les liaisons *}}
{{:api {{:api
method="POST" method="POST"
path="accounting/transaction/%s/transactions"|args:$immo_trans_id path="accounting/transaction/%s/transactions"|args:$immo_id
assign="result" assign="result"
assign_code="result_code" assign_code="result_code"
transactions=$linked_transactions transactions=$linked_transactions
}} }}
{{:redirect to="amortization.html?immo_id=%s&ok=1&msg=attach"|args:$_GET.immo_id}} {{:redirect to="amortization.html?immo_id=%s&ok=1&msg=attach"|args:$_GET.immo_id}}

View File

@ -5,54 +5,27 @@
une écriture d'immobilisation une écriture d'immobilisation
*}} *}}
{{* chercher l'écriture d'immobilisation *}} {{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
{{#select
id_transaction
FROM acc_transactions_lines
WHERE id = :line_id;
:line_id = $_GET.immo_id|intval
}}
{{:assign immo_trans_id=$id_transaction}}
{{else}} {{else}}
{{:error message="Impossible de trouver l'écriture d'immobilisation de la ligne « %s »"|args:$_GET.immo_id}} {{:assign message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}}
{{/select}} {{:error message=$message}}
{{/load}}
{{* chercher l'écriture d'amortissement *}} {{:assign var="liste_amort" val=$info_immo.amort}}
{{#select
id_transaction
FROM acc_transactions_lines
WHERE id = :line_id;
:line_id = $_GET.amort_id|intval
}}
{{:assign amort_id=$id_transaction}}
{{else}}
{{:error message="Impossible de trouver l'écriture d'amortissement de la ligne « %s »"|args:$_GET.amort_id}}
{{/select}}
{{* {{#foreach from=$info_immo.amort item="amort_id"}}
chercher les liaisons de l'écriture d'immobilisation {{if $amort_id != $_GET.amort_id}}
et supprimer la liaison avec l'écriture d'amortissement {{:assign var="t_amort." value=$amort_id}}
*}}
{{#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 = $immo_trans_id
}}
{{if $linked_id != $amort_id}}
{{:assign var="linked_transactions." value=$linked_id}}
{{/if}} {{/if}}
{{/select}} {{/foreach}}
{{* Enregistrer les liaisons *}} {{* Enregistrer les infos *}}
{{:api {{:save
method="POST" key=$info_immo.key
path="accounting/transaction/%s/transactions"|args:$immo_trans_id validate_schema="schema.json"
assign="result" type="immo"
assign_code="result_code" line=$info_immo.line
transactions=$linked_transactions duration=$info_immo.duration
amort=$t_amort
}} }}
{{:redirect to="amortization.html?immo_id=%s&ok=1&msg=detach"|args:$_GET.immo_id}} {{:redirect to="amortization.html?immo_id=%s&ok=1&msg=detach"|args:$_GET.immo_id}}

View File

@ -15,20 +15,6 @@
<p class="block error">Échec enregistrement immobilisation</p> <p class="block error">Échec enregistrement immobilisation</p>
{{/if}} {{/if}}
{{* supprimer les documents sans écriture associée *}}
{{#load type="immo"}}
{{#select
line.id as line_id
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 = $line
}}
{{else}}
{{:delete key=$key}}
{{/select}}
{{/load}}
{{* lister les immobilisations *}} {{* lister les immobilisations *}}
<section class="immobilisation"> <section class="immobilisation">
<h2 class="ruler">Liste des immobilisations</h2> <h2 class="ruler">Liste des immobilisations</h2>
@ -69,7 +55,7 @@
INNER JOIN acc_years AS years ON trans.id_year = years.id INNER JOIN acc_years AS years ON trans.id_year = years.id
LEFT JOIN acc_projects AS project ON line.id_project = project.id LEFT JOIN acc_projects AS project ON line.id_project = project.id
WHERE WHERE
(account.code LIKE '21%' OR account.code LIKE '22%' OR account.code LIKE '27%') (account.code LIKE '21%' OR account.code LIKE '22%')
ORDER BY trans.date DESC ORDER BY trans.date DESC
}} }}
{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$trans_id}}
@ -81,7 +67,7 @@
{{/load}} {{/load}}
<tr> <tr>
<td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td> <td class="num"><a href={{$trans_url}}>#{{$trans_id}}</a></td>
<td>{{$trans_date|date_short}}</td> <td>{{$trans_date|date_short}}</td>
<td>{{$trans_label}}</td> <td>{{$trans_label}}</td>
<td class="money">{{"%f"|math:$debit|money}}</td> <td class="money">{{"%f"|math:$debit|money}}</td>
@ -92,7 +78,7 @@
<td class="actions"> <td class="actions">
{{if $duration == null}} {{if $duration == null}}
{{:linkbutton {{:linkbutton
label="Ajouter infos" label="Ajouter durée"
href="add_duration.html?immo_id=%s"|args:$immo_id href="add_duration.html?immo_id=%s"|args:$immo_id
shape="help" shape="help"
target="_dialog" target="_dialog"

View File

@ -18,7 +18,8 @@
}} }}
{{if $selected_year == null}} {{if $selected_year == null}}
{{:error message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}} {{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}}
{{:error message=$message}}
{{/if}} {{/if}}
{{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}} {{* déterminer le numéro des comptes au cas où la clé serait un identifiant *}}

View File

@ -13,12 +13,7 @@
"duration" : { "duration" : {
"description": "durée de l'amortissement en années", "description": "durée de l'amortissement en années",
"type": "integer" "type": "integer"
},
"date" : {
"description" : "date de mise en service de l'immobilisation",
"type" : ["string", "null"],
"format" : "date"
} }
}, },
"required": ["type", "line", "duration", "date"] "required": ["type", "line", "duration"]
} }